#include <tree_sitter/parser.h>

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

#define LANGUAGE_VERSION 11
#define STATE_COUNT 2967
#define LARGE_STATE_COUNT 941
#define SYMBOL_COUNT 272
#define ALIAS_COUNT 6
#define TOKEN_COUNT 141
#define EXTERNAL_TOKEN_COUNT 22
#define FIELD_COUNT 22
#define MAX_ALIAS_SEQUENCE_LENGTH 8

enum {
  sym_identifier = 1,
  anon_sym___END__ = 2,
  sym_uninterpreted = 3,
  anon_sym_BEGIN = 4,
  anon_sym_LBRACE = 5,
  anon_sym_RBRACE = 6,
  anon_sym_END = 7,
  anon_sym_def = 8,
  anon_sym_LPAREN = 9,
  anon_sym_RPAREN = 10,
  anon_sym_DOT = 11,
  anon_sym_COLON_COLON = 12,
  anon_sym_COMMA = 13,
  anon_sym_PIPE = 14,
  anon_sym_SEMI = 15,
  anon_sym_STAR = 16,
  anon_sym_STAR_STAR = 17,
  anon_sym_AMP = 18,
  anon_sym_COLON = 19,
  anon_sym_EQ = 20,
  anon_sym_class = 21,
  anon_sym_LT = 22,
  anon_sym_module = 23,
  anon_sym_end = 24,
  anon_sym_return = 25,
  anon_sym_yield = 26,
  anon_sym_break = 27,
  anon_sym_next = 28,
  anon_sym_redo = 29,
  anon_sym_retry = 30,
  anon_sym_if = 31,
  anon_sym_unless = 32,
  anon_sym_while = 33,
  anon_sym_until = 34,
  anon_sym_rescue = 35,
  anon_sym_for = 36,
  anon_sym_in = 37,
  anon_sym_do = 38,
  anon_sym_case = 39,
  anon_sym_when = 40,
  anon_sym_elsif = 41,
  anon_sym_else = 42,
  anon_sym_then = 43,
  anon_sym_begin = 44,
  anon_sym_ensure = 45,
  anon_sym_EQ_GT = 46,
  anon_sym_LBRACK = 47,
  anon_sym_RBRACK = 48,
  anon_sym_COLON_COLON2 = 49,
  anon_sym_AMP_DOT = 50,
  anon_sym_LPAREN2 = 51,
  anon_sym_PLUS_EQ = 52,
  anon_sym_DASH_EQ = 53,
  anon_sym_STAR_EQ = 54,
  anon_sym_STAR_STAR_EQ = 55,
  anon_sym_SLASH_EQ = 56,
  anon_sym_PIPE_PIPE_EQ = 57,
  anon_sym_PIPE_EQ = 58,
  anon_sym_AMP_AMP_EQ = 59,
  anon_sym_AMP_EQ = 60,
  anon_sym_PERCENT_EQ = 61,
  anon_sym_GT_GT_EQ = 62,
  anon_sym_LT_LT_EQ = 63,
  anon_sym_CARET_EQ = 64,
  anon_sym_QMARK = 65,
  anon_sym_COLON2 = 66,
  anon_sym_DOT_DOT = 67,
  anon_sym_DOT_DOT_DOT = 68,
  anon_sym_and = 69,
  anon_sym_or = 70,
  anon_sym_PIPE_PIPE = 71,
  anon_sym_AMP_AMP = 72,
  anon_sym_LT_LT = 73,
  anon_sym_GT_GT = 74,
  anon_sym_LT_EQ = 75,
  anon_sym_GT = 76,
  anon_sym_GT_EQ = 77,
  anon_sym_CARET = 78,
  anon_sym_PLUS = 79,
  anon_sym_SLASH = 80,
  anon_sym_PERCENT = 81,
  anon_sym_EQ_EQ = 82,
  anon_sym_BANG_EQ = 83,
  anon_sym_EQ_EQ_EQ = 84,
  anon_sym_LT_EQ_GT = 85,
  anon_sym_EQ_TILDE = 86,
  anon_sym_BANG_TILDE = 87,
  anon_sym_defined_QMARK = 88,
  anon_sym_not = 89,
  anon_sym_BANG = 90,
  anon_sym_TILDE = 91,
  anon_sym_DASH = 92,
  anon_sym_PLUS_AT = 93,
  anon_sym_DASH_AT = 94,
  anon_sym_LBRACK_RBRACK = 95,
  anon_sym_LBRACK_RBRACK_EQ = 96,
  anon_sym_BQUOTE = 97,
  anon_sym_undef = 98,
  anon_sym_alias = 99,
  sym_comment = 100,
  sym_integer = 101,
  sym_float = 102,
  sym_complex = 103,
  anon_sym_r = 104,
  sym_super = 105,
  sym_self = 106,
  sym_true = 107,
  sym_false = 108,
  sym_nil = 109,
  sym_constant = 110,
  sym_instance_variable = 111,
  sym_class_variable = 112,
  sym_global_variable = 113,
  sym_character = 114,
  anon_sym_POUND_LBRACE = 115,
  aux_sym_string_array_token1 = 116,
  sym_escape_sequence = 117,
  anon_sym_LBRACK2 = 118,
  anon_sym_DASH_GT = 119,
  sym__line_break = 120,
  sym__simple_symbol = 121,
  sym__string_start = 122,
  sym__symbol_start = 123,
  sym__subshell_start = 124,
  sym__regex_start = 125,
  sym__string_array_start = 126,
  sym__symbol_array_start = 127,
  sym__heredoc_body_start = 128,
  sym__string_content = 129,
  sym__heredoc_content = 130,
  sym__string_end = 131,
  sym_heredoc_end = 132,
  sym_heredoc_beginning = 133,
  sym__block_ampersand = 134,
  sym__splat_star = 135,
  sym__unary_minus = 136,
  sym__binary_minus = 137,
  sym__binary_star = 138,
  sym__singleton_class_left_angle_left_langle = 139,
  sym__identifier_hash_key = 140,
  sym_program = 141,
  sym__statements = 142,
  sym_begin_block = 143,
  sym_end_block = 144,
  sym__statement = 145,
  sym_method = 146,
  sym_singleton_method = 147,
  sym__method_rest = 148,
  sym_parameters = 149,
  sym_bare_parameters = 150,
  sym_block_parameters = 151,
  sym__formal_parameter = 152,
  sym__simple_formal_parameter = 153,
  sym_splat_parameter = 154,
  sym_hash_splat_parameter = 155,
  sym_block_parameter = 156,
  sym_keyword_parameter = 157,
  sym_optional_parameter = 158,
  sym_class = 159,
  sym_superclass = 160,
  sym_singleton_class = 161,
  sym_module = 162,
  sym_return_command = 163,
  sym_yield_command = 164,
  sym_break_command = 165,
  sym_next_command = 166,
  sym_return = 167,
  sym_yield = 168,
  sym_break = 169,
  sym_next = 170,
  sym_redo = 171,
  sym_retry = 172,
  sym_if_modifier = 173,
  sym_unless_modifier = 174,
  sym_while_modifier = 175,
  sym_until_modifier = 176,
  sym_rescue_modifier = 177,
  sym_while = 178,
  sym_until = 179,
  sym_for = 180,
  sym_in = 181,
  sym_do = 182,
  sym_case = 183,
  sym_when = 184,
  sym_pattern = 185,
  sym_if = 186,
  sym_unless = 187,
  sym_elsif = 188,
  sym_else = 189,
  sym_then = 190,
  sym_begin = 191,
  sym_ensure = 192,
  sym_rescue = 193,
  sym_exceptions = 194,
  sym_exception_variable = 195,
  sym__body_statement = 196,
  sym__expression = 197,
  sym__arg = 198,
  sym__primary = 199,
  sym_parenthesized_statements = 200,
  sym_element_reference = 201,
  sym_scope_resolution = 202,
  sym_call = 203,
  sym_command_call = 204,
  sym_method_call = 205,
  sym_command_argument_list = 206,
  sym_argument_list = 207,
  sym__argument_list_with_trailing_comma = 208,
  sym__argument = 209,
  sym_splat_argument = 210,
  sym_hash_splat_argument = 211,
  sym_block_argument = 212,
  sym_do_block = 213,
  sym_block = 214,
  sym_assignment = 215,
  sym_command_assignment = 216,
  sym_operator_assignment = 217,
  sym_command_operator_assignment = 218,
  sym_conditional = 219,
  sym_range = 220,
  sym_binary = 221,
  sym_command_binary = 222,
  sym_unary = 223,
  sym_parenthesized_unary = 224,
  sym_unary_literal = 225,
  sym_right_assignment_list = 226,
  sym_left_assignment_list = 227,
  sym__mlhs = 228,
  sym_destructured_left_assignment = 229,
  sym_rest_assignment = 230,
  sym__lhs = 231,
  sym__variable = 232,
  sym_operator = 233,
  sym__method_name = 234,
  sym_setter = 235,
  sym_undef = 236,
  sym_alias = 237,
  sym_rational = 238,
  sym_chained_string = 239,
  sym_interpolation = 240,
  sym_string = 241,
  sym_subshell = 242,
  sym_string_array = 243,
  sym_symbol_array = 244,
  sym_symbol = 245,
  sym_regex = 246,
  sym_heredoc_body = 247,
  aux_sym__literal_contents = 248,
  sym_array = 249,
  sym_hash = 250,
  sym_pair = 251,
  sym_lambda = 252,
  sym_empty_statement = 253,
  sym__terminator = 254,
  aux_sym__statements_repeat1 = 255,
  aux_sym_parameters_repeat1 = 256,
  aux_sym_block_parameters_repeat1 = 257,
  aux_sym_for_repeat1 = 258,
  aux_sym_case_repeat1 = 259,
  aux_sym_case_repeat2 = 260,
  aux_sym_when_repeat1 = 261,
  aux_sym_exceptions_repeat1 = 262,
  aux_sym__body_statement_repeat1 = 263,
  aux_sym_command_argument_list_repeat1 = 264,
  aux_sym__mlhs_repeat1 = 265,
  aux_sym_undef_repeat1 = 266,
  aux_sym_chained_string_repeat1 = 267,
  aux_sym_string_array_repeat1 = 268,
  aux_sym_symbol_array_repeat1 = 269,
  aux_sym_heredoc_body_repeat1 = 270,
  aux_sym_hash_repeat1 = 271,
  anon_alias_sym_DQUOTE = 272,
  alias_sym_bare_string = 273,
  alias_sym_bare_symbol = 274,
  alias_sym_destructured_parameter = 275,
  alias_sym_lambda_parameters = 276,
  alias_sym_method_parameters = 277,
};

static const char *ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [sym_identifier] = "identifier",
  [anon_sym___END__] = "__END__",
  [sym_uninterpreted] = "uninterpreted",
  [anon_sym_BEGIN] = "BEGIN",
  [anon_sym_LBRACE] = "{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_END] = "END",
  [anon_sym_def] = "def",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_DOT] = ".",
  [anon_sym_COLON_COLON] = "::",
  [anon_sym_COMMA] = ",",
  [anon_sym_PIPE] = "|",
  [anon_sym_SEMI] = ";",
  [anon_sym_STAR] = "*",
  [anon_sym_STAR_STAR] = "**",
  [anon_sym_AMP] = "&",
  [anon_sym_COLON] = ":",
  [anon_sym_EQ] = "=",
  [anon_sym_class] = "class",
  [anon_sym_LT] = "<",
  [anon_sym_module] = "module",
  [anon_sym_end] = "end",
  [anon_sym_return] = "return",
  [anon_sym_yield] = "yield",
  [anon_sym_break] = "break",
  [anon_sym_next] = "next",
  [anon_sym_redo] = "redo",
  [anon_sym_retry] = "retry",
  [anon_sym_if] = "if",
  [anon_sym_unless] = "unless",
  [anon_sym_while] = "while",
  [anon_sym_until] = "until",
  [anon_sym_rescue] = "rescue",
  [anon_sym_for] = "for",
  [anon_sym_in] = "in",
  [anon_sym_do] = "do",
  [anon_sym_case] = "case",
  [anon_sym_when] = "when",
  [anon_sym_elsif] = "elsif",
  [anon_sym_else] = "else",
  [anon_sym_then] = "then",
  [anon_sym_begin] = "begin",
  [anon_sym_ensure] = "ensure",
  [anon_sym_EQ_GT] = "=>",
  [anon_sym_LBRACK] = "[",
  [anon_sym_RBRACK] = "]",
  [anon_sym_COLON_COLON2] = "::",
  [anon_sym_AMP_DOT] = "&.",
  [anon_sym_LPAREN2] = "(",
  [anon_sym_PLUS_EQ] = "+=",
  [anon_sym_DASH_EQ] = "-=",
  [anon_sym_STAR_EQ] = "*=",
  [anon_sym_STAR_STAR_EQ] = "**=",
  [anon_sym_SLASH_EQ] = "/=",
  [anon_sym_PIPE_PIPE_EQ] = "||=",
  [anon_sym_PIPE_EQ] = "|=",
  [anon_sym_AMP_AMP_EQ] = "&&=",
  [anon_sym_AMP_EQ] = "&=",
  [anon_sym_PERCENT_EQ] = "%=",
  [anon_sym_GT_GT_EQ] = ">>=",
  [anon_sym_LT_LT_EQ] = "<<=",
  [anon_sym_CARET_EQ] = "^=",
  [anon_sym_QMARK] = "?",
  [anon_sym_COLON2] = ":",
  [anon_sym_DOT_DOT] = "..",
  [anon_sym_DOT_DOT_DOT] = "...",
  [anon_sym_and] = "and",
  [anon_sym_or] = "or",
  [anon_sym_PIPE_PIPE] = "||",
  [anon_sym_AMP_AMP] = "&&",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [anon_sym_LT_EQ] = "<=",
  [anon_sym_GT] = ">",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_CARET] = "^",
  [anon_sym_PLUS] = "+",
  [anon_sym_SLASH] = "/",
  [anon_sym_PERCENT] = "%",
  [anon_sym_EQ_EQ] = "==",
  [anon_sym_BANG_EQ] = "!=",
  [anon_sym_EQ_EQ_EQ] = "===",
  [anon_sym_LT_EQ_GT] = "<=>",
  [anon_sym_EQ_TILDE] = "=~",
  [anon_sym_BANG_TILDE] = "!~",
  [anon_sym_defined_QMARK] = "defined?",
  [anon_sym_not] = "not",
  [anon_sym_BANG] = "!",
  [anon_sym_TILDE] = "~",
  [anon_sym_DASH] = "-",
  [anon_sym_PLUS_AT] = "+@",
  [anon_sym_DASH_AT] = "-@",
  [anon_sym_LBRACK_RBRACK] = "[]",
  [anon_sym_LBRACK_RBRACK_EQ] = "[]=",
  [anon_sym_BQUOTE] = "`",
  [anon_sym_undef] = "undef",
  [anon_sym_alias] = "alias",
  [sym_comment] = "comment",
  [sym_integer] = "integer",
  [sym_float] = "float",
  [sym_complex] = "complex",
  [anon_sym_r] = "r",
  [sym_super] = "super",
  [sym_self] = "self",
  [sym_true] = "true",
  [sym_false] = "false",
  [sym_nil] = "nil",
  [sym_constant] = "constant",
  [sym_instance_variable] = "instance_variable",
  [sym_class_variable] = "class_variable",
  [sym_global_variable] = "global_variable",
  [sym_character] = "character",
  [anon_sym_POUND_LBRACE] = "#{",
  [aux_sym_string_array_token1] = "string_array_token1",
  [sym_escape_sequence] = "escape_sequence",
  [anon_sym_LBRACK2] = "[",
  [anon_sym_DASH_GT] = "->",
  [sym__line_break] = "_line_break",
  [sym__simple_symbol] = "_simple_symbol",
  [sym__string_start] = "\"",
  [sym__symbol_start] = ":\"",
  [sym__subshell_start] = "`",
  [sym__regex_start] = "/",
  [sym__string_array_start] = "%w(",
  [sym__symbol_array_start] = "%i(",
  [sym__heredoc_body_start] = "_heredoc_body_start",
  [sym__string_content] = "_string_content",
  [sym__heredoc_content] = "_heredoc_content",
  [sym__string_end] = "_string_end",
  [sym_heredoc_end] = "heredoc_end",
  [sym_heredoc_beginning] = "heredoc_beginning",
  [sym__block_ampersand] = "&",
  [sym__splat_star] = "*",
  [sym__unary_minus] = "-",
  [sym__binary_minus] = "-",
  [sym__binary_star] = "*",
  [sym__singleton_class_left_angle_left_langle] = "<<",
  [sym__identifier_hash_key] = "symbol",
  [sym_program] = "program",
  [sym__statements] = "_statements",
  [sym_begin_block] = "begin_block",
  [sym_end_block] = "end_block",
  [sym__statement] = "_statement",
  [sym_method] = "method",
  [sym_singleton_method] = "singleton_method",
  [sym__method_rest] = "_method_rest",
  [sym_parameters] = "parameters",
  [sym_bare_parameters] = "bare_parameters",
  [sym_block_parameters] = "block_parameters",
  [sym__formal_parameter] = "_formal_parameter",
  [sym__simple_formal_parameter] = "_simple_formal_parameter",
  [sym_splat_parameter] = "splat_parameter",
  [sym_hash_splat_parameter] = "hash_splat_parameter",
  [sym_block_parameter] = "block_parameter",
  [sym_keyword_parameter] = "keyword_parameter",
  [sym_optional_parameter] = "optional_parameter",
  [sym_class] = "class",
  [sym_superclass] = "superclass",
  [sym_singleton_class] = "singleton_class",
  [sym_module] = "module",
  [sym_return_command] = "return",
  [sym_yield_command] = "yield",
  [sym_break_command] = "break",
  [sym_next_command] = "next",
  [sym_return] = "return",
  [sym_yield] = "yield",
  [sym_break] = "break",
  [sym_next] = "next",
  [sym_redo] = "redo",
  [sym_retry] = "retry",
  [sym_if_modifier] = "if_modifier",
  [sym_unless_modifier] = "unless_modifier",
  [sym_while_modifier] = "while_modifier",
  [sym_until_modifier] = "until_modifier",
  [sym_rescue_modifier] = "rescue_modifier",
  [sym_while] = "while",
  [sym_until] = "until",
  [sym_for] = "for",
  [sym_in] = "in",
  [sym_do] = "do",
  [sym_case] = "case",
  [sym_when] = "when",
  [sym_pattern] = "pattern",
  [sym_if] = "if",
  [sym_unless] = "unless",
  [sym_elsif] = "elsif",
  [sym_else] = "else",
  [sym_then] = "then",
  [sym_begin] = "begin",
  [sym_ensure] = "ensure",
  [sym_rescue] = "rescue",
  [sym_exceptions] = "exceptions",
  [sym_exception_variable] = "exception_variable",
  [sym__body_statement] = "_body_statement",
  [sym__expression] = "_expression",
  [sym__arg] = "_arg",
  [sym__primary] = "_primary",
  [sym_parenthesized_statements] = "parenthesized_statements",
  [sym_element_reference] = "element_reference",
  [sym_scope_resolution] = "scope_resolution",
  [sym_call] = "call",
  [sym_command_call] = "method_call",
  [sym_method_call] = "method_call",
  [sym_command_argument_list] = "argument_list",
  [sym_argument_list] = "argument_list",
  [sym__argument_list_with_trailing_comma] = "_argument_list_with_trailing_comma",
  [sym__argument] = "_argument",
  [sym_splat_argument] = "splat_argument",
  [sym_hash_splat_argument] = "hash_splat_argument",
  [sym_block_argument] = "block_argument",
  [sym_do_block] = "do_block",
  [sym_block] = "block",
  [sym_assignment] = "assignment",
  [sym_command_assignment] = "assignment",
  [sym_operator_assignment] = "operator_assignment",
  [sym_command_operator_assignment] = "operator_assignment",
  [sym_conditional] = "conditional",
  [sym_range] = "range",
  [sym_binary] = "binary",
  [sym_command_binary] = "binary",
  [sym_unary] = "unary",
  [sym_parenthesized_unary] = "unary",
  [sym_unary_literal] = "unary",
  [sym_right_assignment_list] = "right_assignment_list",
  [sym_left_assignment_list] = "left_assignment_list",
  [sym__mlhs] = "_mlhs",
  [sym_destructured_left_assignment] = "destructured_left_assignment",
  [sym_rest_assignment] = "rest_assignment",
  [sym__lhs] = "_lhs",
  [sym__variable] = "_variable",
  [sym_operator] = "operator",
  [sym__method_name] = "_method_name",
  [sym_setter] = "setter",
  [sym_undef] = "undef",
  [sym_alias] = "alias",
  [sym_rational] = "rational",
  [sym_chained_string] = "chained_string",
  [sym_interpolation] = "interpolation",
  [sym_string] = "string",
  [sym_subshell] = "subshell",
  [sym_string_array] = "string_array",
  [sym_symbol_array] = "symbol_array",
  [sym_symbol] = "symbol",
  [sym_regex] = "regex",
  [sym_heredoc_body] = "heredoc_body",
  [aux_sym__literal_contents] = "_literal_contents",
  [sym_array] = "array",
  [sym_hash] = "hash",
  [sym_pair] = "pair",
  [sym_lambda] = "lambda",
  [sym_empty_statement] = "empty_statement",
  [sym__terminator] = "_terminator",
  [aux_sym__statements_repeat1] = "_statements_repeat1",
  [aux_sym_parameters_repeat1] = "parameters_repeat1",
  [aux_sym_block_parameters_repeat1] = "block_parameters_repeat1",
  [aux_sym_for_repeat1] = "for_repeat1",
  [aux_sym_case_repeat1] = "case_repeat1",
  [aux_sym_case_repeat2] = "case_repeat2",
  [aux_sym_when_repeat1] = "when_repeat1",
  [aux_sym_exceptions_repeat1] = "exceptions_repeat1",
  [aux_sym__body_statement_repeat1] = "_body_statement_repeat1",
  [aux_sym_command_argument_list_repeat1] = "command_argument_list_repeat1",
  [aux_sym__mlhs_repeat1] = "_mlhs_repeat1",
  [aux_sym_undef_repeat1] = "undef_repeat1",
  [aux_sym_chained_string_repeat1] = "chained_string_repeat1",
  [aux_sym_string_array_repeat1] = "string_array_repeat1",
  [aux_sym_symbol_array_repeat1] = "symbol_array_repeat1",
  [aux_sym_heredoc_body_repeat1] = "heredoc_body_repeat1",
  [aux_sym_hash_repeat1] = "hash_repeat1",
  [anon_alias_sym_DQUOTE] = "\"",
  [alias_sym_bare_string] = "bare_string",
  [alias_sym_bare_symbol] = "bare_symbol",
  [alias_sym_destructured_parameter] = "destructured_parameter",
  [alias_sym_lambda_parameters] = "lambda_parameters",
  [alias_sym_method_parameters] = "method_parameters",
};

static TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [sym_identifier] = sym_identifier,
  [anon_sym___END__] = anon_sym___END__,
  [sym_uninterpreted] = sym_uninterpreted,
  [anon_sym_BEGIN] = anon_sym_BEGIN,
  [anon_sym_LBRACE] = anon_sym_LBRACE,
  [anon_sym_RBRACE] = anon_sym_RBRACE,
  [anon_sym_END] = anon_sym_END,
  [anon_sym_def] = anon_sym_def,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [anon_sym_DOT] = anon_sym_DOT,
  [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_SEMI] = anon_sym_SEMI,
  [anon_sym_STAR] = anon_sym_STAR,
  [anon_sym_STAR_STAR] = anon_sym_STAR_STAR,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_EQ] = anon_sym_EQ,
  [anon_sym_class] = anon_sym_class,
  [anon_sym_LT] = anon_sym_LT,
  [anon_sym_module] = anon_sym_module,
  [anon_sym_end] = anon_sym_end,
  [anon_sym_return] = anon_sym_return,
  [anon_sym_yield] = anon_sym_yield,
  [anon_sym_break] = anon_sym_break,
  [anon_sym_next] = anon_sym_next,
  [anon_sym_redo] = anon_sym_redo,
  [anon_sym_retry] = anon_sym_retry,
  [anon_sym_if] = anon_sym_if,
  [anon_sym_unless] = anon_sym_unless,
  [anon_sym_while] = anon_sym_while,
  [anon_sym_until] = anon_sym_until,
  [anon_sym_rescue] = anon_sym_rescue,
  [anon_sym_for] = anon_sym_for,
  [anon_sym_in] = anon_sym_in,
  [anon_sym_do] = anon_sym_do,
  [anon_sym_case] = anon_sym_case,
  [anon_sym_when] = anon_sym_when,
  [anon_sym_elsif] = anon_sym_elsif,
  [anon_sym_else] = anon_sym_else,
  [anon_sym_then] = anon_sym_then,
  [anon_sym_begin] = anon_sym_begin,
  [anon_sym_ensure] = anon_sym_ensure,
  [anon_sym_EQ_GT] = anon_sym_EQ_GT,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [anon_sym_COLON_COLON2] = anon_sym_COLON_COLON2,
  [anon_sym_AMP_DOT] = anon_sym_AMP_DOT,
  [anon_sym_LPAREN2] = anon_sym_LPAREN2,
  [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ,
  [anon_sym_DASH_EQ] = anon_sym_DASH_EQ,
  [anon_sym_STAR_EQ] = anon_sym_STAR_EQ,
  [anon_sym_STAR_STAR_EQ] = anon_sym_STAR_STAR_EQ,
  [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ,
  [anon_sym_PIPE_PIPE_EQ] = anon_sym_PIPE_PIPE_EQ,
  [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ,
  [anon_sym_AMP_AMP_EQ] = anon_sym_AMP_AMP_EQ,
  [anon_sym_AMP_EQ] = anon_sym_AMP_EQ,
  [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ,
  [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ,
  [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ,
  [anon_sym_CARET_EQ] = anon_sym_CARET_EQ,
  [anon_sym_QMARK] = anon_sym_QMARK,
  [anon_sym_COLON2] = anon_sym_COLON2,
  [anon_sym_DOT_DOT] = anon_sym_DOT_DOT,
  [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT,
  [anon_sym_and] = anon_sym_and,
  [anon_sym_or] = anon_sym_or,
  [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE,
  [anon_sym_AMP_AMP] = anon_sym_AMP_AMP,
  [anon_sym_LT_LT] = anon_sym_LT_LT,
  [anon_sym_GT_GT] = anon_sym_GT_GT,
  [anon_sym_LT_EQ] = anon_sym_LT_EQ,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_GT_EQ] = anon_sym_GT_EQ,
  [anon_sym_CARET] = anon_sym_CARET,
  [anon_sym_PLUS] = anon_sym_PLUS,
  [anon_sym_SLASH] = anon_sym_SLASH,
  [anon_sym_PERCENT] = anon_sym_PERCENT,
  [anon_sym_EQ_EQ] = anon_sym_EQ_EQ,
  [anon_sym_BANG_EQ] = anon_sym_BANG_EQ,
  [anon_sym_EQ_EQ_EQ] = anon_sym_EQ_EQ_EQ,
  [anon_sym_LT_EQ_GT] = anon_sym_LT_EQ_GT,
  [anon_sym_EQ_TILDE] = anon_sym_EQ_TILDE,
  [anon_sym_BANG_TILDE] = anon_sym_BANG_TILDE,
  [anon_sym_defined_QMARK] = anon_sym_defined_QMARK,
  [anon_sym_not] = anon_sym_not,
  [anon_sym_BANG] = anon_sym_BANG,
  [anon_sym_TILDE] = anon_sym_TILDE,
  [anon_sym_DASH] = anon_sym_DASH,
  [anon_sym_PLUS_AT] = anon_sym_PLUS_AT,
  [anon_sym_DASH_AT] = anon_sym_DASH_AT,
  [anon_sym_LBRACK_RBRACK] = anon_sym_LBRACK_RBRACK,
  [anon_sym_LBRACK_RBRACK_EQ] = anon_sym_LBRACK_RBRACK_EQ,
  [anon_sym_BQUOTE] = anon_sym_BQUOTE,
  [anon_sym_undef] = anon_sym_undef,
  [anon_sym_alias] = anon_sym_alias,
  [sym_comment] = sym_comment,
  [sym_integer] = sym_integer,
  [sym_float] = sym_float,
  [sym_complex] = sym_complex,
  [anon_sym_r] = anon_sym_r,
  [sym_super] = sym_super,
  [sym_self] = sym_self,
  [sym_true] = sym_true,
  [sym_false] = sym_false,
  [sym_nil] = sym_nil,
  [sym_constant] = sym_constant,
  [sym_instance_variable] = sym_instance_variable,
  [sym_class_variable] = sym_class_variable,
  [sym_global_variable] = sym_global_variable,
  [sym_character] = sym_character,
  [anon_sym_POUND_LBRACE] = anon_sym_POUND_LBRACE,
  [aux_sym_string_array_token1] = aux_sym_string_array_token1,
  [sym_escape_sequence] = sym_escape_sequence,
  [anon_sym_LBRACK2] = anon_sym_LBRACK2,
  [anon_sym_DASH_GT] = anon_sym_DASH_GT,
  [sym__line_break] = sym__line_break,
  [sym__simple_symbol] = sym__simple_symbol,
  [sym__string_start] = sym__string_start,
  [sym__symbol_start] = sym__symbol_start,
  [sym__subshell_start] = anon_sym_BQUOTE,
  [sym__regex_start] = anon_sym_SLASH,
  [sym__string_array_start] = sym__string_array_start,
  [sym__symbol_array_start] = sym__symbol_array_start,
  [sym__heredoc_body_start] = sym__heredoc_body_start,
  [sym__string_content] = sym__string_content,
  [sym__heredoc_content] = sym__heredoc_content,
  [sym__string_end] = sym__string_end,
  [sym_heredoc_end] = sym_heredoc_end,
  [sym_heredoc_beginning] = sym_heredoc_beginning,
  [sym__block_ampersand] = anon_sym_AMP,
  [sym__splat_star] = anon_sym_STAR,
  [sym__unary_minus] = anon_sym_DASH,
  [sym__binary_minus] = anon_sym_DASH,
  [sym__binary_star] = anon_sym_STAR,
  [sym__singleton_class_left_angle_left_langle] = anon_sym_LT_LT,
  [sym__identifier_hash_key] = sym_symbol,
  [sym_program] = sym_program,
  [sym__statements] = sym__statements,
  [sym_begin_block] = sym_begin_block,
  [sym_end_block] = sym_end_block,
  [sym__statement] = sym__statement,
  [sym_method] = sym_method,
  [sym_singleton_method] = sym_singleton_method,
  [sym__method_rest] = sym__method_rest,
  [sym_parameters] = sym_parameters,
  [sym_bare_parameters] = sym_bare_parameters,
  [sym_block_parameters] = sym_block_parameters,
  [sym__formal_parameter] = sym__formal_parameter,
  [sym__simple_formal_parameter] = sym__simple_formal_parameter,
  [sym_splat_parameter] = sym_splat_parameter,
  [sym_hash_splat_parameter] = sym_hash_splat_parameter,
  [sym_block_parameter] = sym_block_parameter,
  [sym_keyword_parameter] = sym_keyword_parameter,
  [sym_optional_parameter] = sym_optional_parameter,
  [sym_class] = sym_class,
  [sym_superclass] = sym_superclass,
  [sym_singleton_class] = sym_singleton_class,
  [sym_module] = sym_module,
  [sym_return_command] = sym_return,
  [sym_yield_command] = sym_yield,
  [sym_break_command] = sym_break,
  [sym_next_command] = sym_next,
  [sym_return] = sym_return,
  [sym_yield] = sym_yield,
  [sym_break] = sym_break,
  [sym_next] = sym_next,
  [sym_redo] = sym_redo,
  [sym_retry] = sym_retry,
  [sym_if_modifier] = sym_if_modifier,
  [sym_unless_modifier] = sym_unless_modifier,
  [sym_while_modifier] = sym_while_modifier,
  [sym_until_modifier] = sym_until_modifier,
  [sym_rescue_modifier] = sym_rescue_modifier,
  [sym_while] = sym_while,
  [sym_until] = sym_until,
  [sym_for] = sym_for,
  [sym_in] = sym_in,
  [sym_do] = sym_do,
  [sym_case] = sym_case,
  [sym_when] = sym_when,
  [sym_pattern] = sym_pattern,
  [sym_if] = sym_if,
  [sym_unless] = sym_unless,
  [sym_elsif] = sym_elsif,
  [sym_else] = sym_else,
  [sym_then] = sym_then,
  [sym_begin] = sym_begin,
  [sym_ensure] = sym_ensure,
  [sym_rescue] = sym_rescue,
  [sym_exceptions] = sym_exceptions,
  [sym_exception_variable] = sym_exception_variable,
  [sym__body_statement] = sym__body_statement,
  [sym__expression] = sym__expression,
  [sym__arg] = sym__arg,
  [sym__primary] = sym__primary,
  [sym_parenthesized_statements] = sym_parenthesized_statements,
  [sym_element_reference] = sym_element_reference,
  [sym_scope_resolution] = sym_scope_resolution,
  [sym_call] = sym_call,
  [sym_command_call] = sym_method_call,
  [sym_method_call] = sym_method_call,
  [sym_command_argument_list] = sym_argument_list,
  [sym_argument_list] = sym_argument_list,
  [sym__argument_list_with_trailing_comma] = sym__argument_list_with_trailing_comma,
  [sym__argument] = sym__argument,
  [sym_splat_argument] = sym_splat_argument,
  [sym_hash_splat_argument] = sym_hash_splat_argument,
  [sym_block_argument] = sym_block_argument,
  [sym_do_block] = sym_do_block,
  [sym_block] = sym_block,
  [sym_assignment] = sym_assignment,
  [sym_command_assignment] = sym_assignment,
  [sym_operator_assignment] = sym_operator_assignment,
  [sym_command_operator_assignment] = sym_operator_assignment,
  [sym_conditional] = sym_conditional,
  [sym_range] = sym_range,
  [sym_binary] = sym_binary,
  [sym_command_binary] = sym_binary,
  [sym_unary] = sym_unary,
  [sym_parenthesized_unary] = sym_unary,
  [sym_unary_literal] = sym_unary,
  [sym_right_assignment_list] = sym_right_assignment_list,
  [sym_left_assignment_list] = sym_left_assignment_list,
  [sym__mlhs] = sym__mlhs,
  [sym_destructured_left_assignment] = sym_destructured_left_assignment,
  [sym_rest_assignment] = sym_rest_assignment,
  [sym__lhs] = sym__lhs,
  [sym__variable] = sym__variable,
  [sym_operator] = sym_operator,
  [sym__method_name] = sym__method_name,
  [sym_setter] = sym_setter,
  [sym_undef] = sym_undef,
  [sym_alias] = sym_alias,
  [sym_rational] = sym_rational,
  [sym_chained_string] = sym_chained_string,
  [sym_interpolation] = sym_interpolation,
  [sym_string] = sym_string,
  [sym_subshell] = sym_subshell,
  [sym_string_array] = sym_string_array,
  [sym_symbol_array] = sym_symbol_array,
  [sym_symbol] = sym_symbol,
  [sym_regex] = sym_regex,
  [sym_heredoc_body] = sym_heredoc_body,
  [aux_sym__literal_contents] = aux_sym__literal_contents,
  [sym_array] = sym_array,
  [sym_hash] = sym_hash,
  [sym_pair] = sym_pair,
  [sym_lambda] = sym_lambda,
  [sym_empty_statement] = sym_empty_statement,
  [sym__terminator] = sym__terminator,
  [aux_sym__statements_repeat1] = aux_sym__statements_repeat1,
  [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1,
  [aux_sym_block_parameters_repeat1] = aux_sym_block_parameters_repeat1,
  [aux_sym_for_repeat1] = aux_sym_for_repeat1,
  [aux_sym_case_repeat1] = aux_sym_case_repeat1,
  [aux_sym_case_repeat2] = aux_sym_case_repeat2,
  [aux_sym_when_repeat1] = aux_sym_when_repeat1,
  [aux_sym_exceptions_repeat1] = aux_sym_exceptions_repeat1,
  [aux_sym__body_statement_repeat1] = aux_sym__body_statement_repeat1,
  [aux_sym_command_argument_list_repeat1] = aux_sym_command_argument_list_repeat1,
  [aux_sym__mlhs_repeat1] = aux_sym__mlhs_repeat1,
  [aux_sym_undef_repeat1] = aux_sym_undef_repeat1,
  [aux_sym_chained_string_repeat1] = aux_sym_chained_string_repeat1,
  [aux_sym_string_array_repeat1] = aux_sym_string_array_repeat1,
  [aux_sym_symbol_array_repeat1] = aux_sym_symbol_array_repeat1,
  [aux_sym_heredoc_body_repeat1] = aux_sym_heredoc_body_repeat1,
  [aux_sym_hash_repeat1] = aux_sym_hash_repeat1,
  [anon_alias_sym_DQUOTE] = anon_alias_sym_DQUOTE,
  [alias_sym_bare_string] = alias_sym_bare_string,
  [alias_sym_bare_symbol] = alias_sym_bare_symbol,
  [alias_sym_destructured_parameter] = alias_sym_destructured_parameter,
  [alias_sym_lambda_parameters] = alias_sym_lambda_parameters,
  [alias_sym_method_parameters] = alias_sym_method_parameters,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [anon_sym___END__] = {
    .visible = true,
    .named = false,
  },
  [sym_uninterpreted] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_BEGIN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_END] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_def] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_STAR] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_class] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_module] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_end] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_return] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_yield] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_break] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_next] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_redo] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_retry] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unless] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_while] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_until] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_rescue] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_for] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_in] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_do] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_case] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_when] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_elsif] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_else] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_then] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_begin] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_ensure] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON_COLON2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_and] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_or] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_EQ_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_EQ_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_defined_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_not] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANG] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK_RBRACK_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BQUOTE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_undef] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_alias] = {
    .visible = true,
    .named = false,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_integer] = {
    .visible = true,
    .named = true,
  },
  [sym_float] = {
    .visible = true,
    .named = true,
  },
  [sym_complex] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_r] = {
    .visible = true,
    .named = false,
  },
  [sym_super] = {
    .visible = true,
    .named = true,
  },
  [sym_self] = {
    .visible = true,
    .named = true,
  },
  [sym_true] = {
    .visible = true,
    .named = true,
  },
  [sym_false] = {
    .visible = true,
    .named = true,
  },
  [sym_nil] = {
    .visible = true,
    .named = true,
  },
  [sym_constant] = {
    .visible = true,
    .named = true,
  },
  [sym_instance_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_class_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_global_variable] = {
    .visible = true,
    .named = true,
  },
  [sym_character] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_POUND_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_string_array_token1] = {
    .visible = false,
    .named = false,
  },
  [sym_escape_sequence] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_LBRACK2] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_GT] = {
    .visible = true,
    .named = false,
  },
  [sym__line_break] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_symbol] = {
    .visible = false,
    .named = true,
  },
  [sym__string_start] = {
    .visible = true,
    .named = false,
  },
  [sym__symbol_start] = {
    .visible = true,
    .named = false,
  },
  [sym__subshell_start] = {
    .visible = true,
    .named = false,
  },
  [sym__regex_start] = {
    .visible = true,
    .named = false,
  },
  [sym__string_array_start] = {
    .visible = true,
    .named = false,
  },
  [sym__symbol_array_start] = {
    .visible = true,
    .named = false,
  },
  [sym__heredoc_body_start] = {
    .visible = false,
    .named = true,
  },
  [sym__string_content] = {
    .visible = false,
    .named = true,
  },
  [sym__heredoc_content] = {
    .visible = false,
    .named = true,
  },
  [sym__string_end] = {
    .visible = false,
    .named = true,
  },
  [sym_heredoc_end] = {
    .visible = true,
    .named = true,
  },
  [sym_heredoc_beginning] = {
    .visible = true,
    .named = true,
  },
  [sym__block_ampersand] = {
    .visible = true,
    .named = false,
  },
  [sym__splat_star] = {
    .visible = true,
    .named = false,
  },
  [sym__unary_minus] = {
    .visible = true,
    .named = false,
  },
  [sym__binary_minus] = {
    .visible = true,
    .named = false,
  },
  [sym__binary_star] = {
    .visible = true,
    .named = false,
  },
  [sym__singleton_class_left_angle_left_langle] = {
    .visible = true,
    .named = false,
  },
  [sym__identifier_hash_key] = {
    .visible = true,
    .named = true,
  },
  [sym_program] = {
    .visible = true,
    .named = true,
  },
  [sym__statements] = {
    .visible = false,
    .named = true,
  },
  [sym_begin_block] = {
    .visible = true,
    .named = true,
  },
  [sym_end_block] = {
    .visible = true,
    .named = true,
  },
  [sym__statement] = {
    .visible = false,
    .named = true,
  },
  [sym_method] = {
    .visible = true,
    .named = true,
  },
  [sym_singleton_method] = {
    .visible = true,
    .named = true,
  },
  [sym__method_rest] = {
    .visible = false,
    .named = true,
  },
  [sym_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_bare_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_block_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym__formal_parameter] = {
    .visible = false,
    .named = true,
  },
  [sym__simple_formal_parameter] = {
    .visible = false,
    .named = true,
  },
  [sym_splat_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_hash_splat_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_block_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_keyword_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_optional_parameter] = {
    .visible = true,
    .named = true,
  },
  [sym_class] = {
    .visible = true,
    .named = true,
  },
  [sym_superclass] = {
    .visible = true,
    .named = true,
  },
  [sym_singleton_class] = {
    .visible = true,
    .named = true,
  },
  [sym_module] = {
    .visible = true,
    .named = true,
  },
  [sym_return_command] = {
    .visible = true,
    .named = true,
  },
  [sym_yield_command] = {
    .visible = true,
    .named = true,
  },
  [sym_break_command] = {
    .visible = true,
    .named = true,
  },
  [sym_next_command] = {
    .visible = true,
    .named = true,
  },
  [sym_return] = {
    .visible = true,
    .named = true,
  },
  [sym_yield] = {
    .visible = true,
    .named = true,
  },
  [sym_break] = {
    .visible = true,
    .named = true,
  },
  [sym_next] = {
    .visible = true,
    .named = true,
  },
  [sym_redo] = {
    .visible = true,
    .named = true,
  },
  [sym_retry] = {
    .visible = true,
    .named = true,
  },
  [sym_if_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_unless_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_while_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_until_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_rescue_modifier] = {
    .visible = true,
    .named = true,
  },
  [sym_while] = {
    .visible = true,
    .named = true,
  },
  [sym_until] = {
    .visible = true,
    .named = true,
  },
  [sym_for] = {
    .visible = true,
    .named = true,
  },
  [sym_in] = {
    .visible = true,
    .named = true,
  },
  [sym_do] = {
    .visible = true,
    .named = true,
  },
  [sym_case] = {
    .visible = true,
    .named = true,
  },
  [sym_when] = {
    .visible = true,
    .named = true,
  },
  [sym_pattern] = {
    .visible = true,
    .named = true,
  },
  [sym_if] = {
    .visible = true,
    .named = true,
  },
  [sym_unless] = {
    .visible = true,
    .named = true,
  },
  [sym_elsif] = {
    .visible = true,
    .named = true,
  },
  [sym_else] = {
    .visible = true,
    .named = true,
  },
  [sym_then] = {
    .visible = true,
    .named = true,
  },
  [sym_begin] = {
    .visible = true,
    .named = true,
  },
  [sym_ensure] = {
    .visible = true,
    .named = true,
  },
  [sym_rescue] = {
    .visible = true,
    .named = true,
  },
  [sym_exceptions] = {
    .visible = true,
    .named = true,
  },
  [sym_exception_variable] = {
    .visible = true,
    .named = true,
  },
  [sym__body_statement] = {
    .visible = false,
    .named = true,
  },
  [sym__expression] = {
    .visible = false,
    .named = true,
  },
  [sym__arg] = {
    .visible = false,
    .named = true,
  },
  [sym__primary] = {
    .visible = false,
    .named = true,
  },
  [sym_parenthesized_statements] = {
    .visible = true,
    .named = true,
  },
  [sym_element_reference] = {
    .visible = true,
    .named = true,
  },
  [sym_scope_resolution] = {
    .visible = true,
    .named = true,
  },
  [sym_call] = {
    .visible = true,
    .named = true,
  },
  [sym_command_call] = {
    .visible = true,
    .named = true,
  },
  [sym_method_call] = {
    .visible = true,
    .named = true,
  },
  [sym_command_argument_list] = {
    .visible = true,
    .named = true,
  },
  [sym_argument_list] = {
    .visible = true,
    .named = true,
  },
  [sym__argument_list_with_trailing_comma] = {
    .visible = false,
    .named = true,
  },
  [sym__argument] = {
    .visible = false,
    .named = true,
  },
  [sym_splat_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_hash_splat_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_block_argument] = {
    .visible = true,
    .named = true,
  },
  [sym_do_block] = {
    .visible = true,
    .named = true,
  },
  [sym_block] = {
    .visible = true,
    .named = true,
  },
  [sym_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_command_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_operator_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_command_operator_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_conditional] = {
    .visible = true,
    .named = true,
  },
  [sym_range] = {
    .visible = true,
    .named = true,
  },
  [sym_binary] = {
    .visible = true,
    .named = true,
  },
  [sym_command_binary] = {
    .visible = true,
    .named = true,
  },
  [sym_unary] = {
    .visible = true,
    .named = true,
  },
  [sym_parenthesized_unary] = {
    .visible = true,
    .named = true,
  },
  [sym_unary_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_right_assignment_list] = {
    .visible = true,
    .named = true,
  },
  [sym_left_assignment_list] = {
    .visible = true,
    .named = true,
  },
  [sym__mlhs] = {
    .visible = false,
    .named = true,
  },
  [sym_destructured_left_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym_rest_assignment] = {
    .visible = true,
    .named = true,
  },
  [sym__lhs] = {
    .visible = false,
    .named = true,
  },
  [sym__variable] = {
    .visible = false,
    .named = true,
  },
  [sym_operator] = {
    .visible = true,
    .named = true,
  },
  [sym__method_name] = {
    .visible = false,
    .named = true,
  },
  [sym_setter] = {
    .visible = true,
    .named = true,
  },
  [sym_undef] = {
    .visible = true,
    .named = true,
  },
  [sym_alias] = {
    .visible = true,
    .named = true,
  },
  [sym_rational] = {
    .visible = true,
    .named = true,
  },
  [sym_chained_string] = {
    .visible = true,
    .named = true,
  },
  [sym_interpolation] = {
    .visible = true,
    .named = true,
  },
  [sym_string] = {
    .visible = true,
    .named = true,
  },
  [sym_subshell] = {
    .visible = true,
    .named = true,
  },
  [sym_string_array] = {
    .visible = true,
    .named = true,
  },
  [sym_symbol_array] = {
    .visible = true,
    .named = true,
  },
  [sym_symbol] = {
    .visible = true,
    .named = true,
  },
  [sym_regex] = {
    .visible = true,
    .named = true,
  },
  [sym_heredoc_body] = {
    .visible = true,
    .named = true,
  },
  [aux_sym__literal_contents] = {
    .visible = false,
    .named = false,
  },
  [sym_array] = {
    .visible = true,
    .named = true,
  },
  [sym_hash] = {
    .visible = true,
    .named = true,
  },
  [sym_pair] = {
    .visible = true,
    .named = true,
  },
  [sym_lambda] = {
    .visible = true,
    .named = true,
  },
  [sym_empty_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__terminator] = {
    .visible = false,
    .named = true,
  },
  [aux_sym__statements_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_block_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_for_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_case_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_case_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_when_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_exceptions_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__body_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_command_argument_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__mlhs_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_undef_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_chained_string_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_string_array_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_symbol_array_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_heredoc_body_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_hash_repeat1] = {
    .visible = false,
    .named = false,
  },
  [anon_alias_sym_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [alias_sym_bare_string] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_bare_symbol] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_destructured_parameter] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_lambda_parameters] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_method_parameters] = {
    .visible = true,
    .named = true,
  },
};

enum {
  field_alias = 1,
  field_alternative = 2,
  field_arguments = 3,
  field_block = 4,
  field_body = 5,
  field_condition = 6,
  field_consequence = 7,
  field_exceptions = 8,
  field_handler = 9,
  field_key = 10,
  field_left = 11,
  field_method = 12,
  field_name = 13,
  field_object = 14,
  field_operator = 15,
  field_parameters = 16,
  field_pattern = 17,
  field_receiver = 18,
  field_right = 19,
  field_scope = 20,
  field_value = 21,
  field_variable = 22,
};

static const char *ts_field_names[] = {
  [0] = NULL,
  [field_alias] = "alias",
  [field_alternative] = "alternative",
  [field_arguments] = "arguments",
  [field_block] = "block",
  [field_body] = "body",
  [field_condition] = "condition",
  [field_consequence] = "consequence",
  [field_exceptions] = "exceptions",
  [field_handler] = "handler",
  [field_key] = "key",
  [field_left] = "left",
  [field_method] = "method",
  [field_name] = "name",
  [field_object] = "object",
  [field_operator] = "operator",
  [field_parameters] = "parameters",
  [field_pattern] = "pattern",
  [field_receiver] = "receiver",
  [field_right] = "right",
  [field_scope] = "scope",
  [field_value] = "value",
  [field_variable] = "variable",
};

static const TSFieldMapSlice ts_field_map_slices[68] = {
  [5] = {.index = 0, .length = 2},
  [6] = {.index = 2, .length = 1},
  [7] = {.index = 3, .length = 1},
  [8] = {.index = 4, .length = 2},
  [9] = {.index = 6, .length = 2},
  [16] = {.index = 8, .length = 2},
  [17] = {.index = 10, .length = 1},
  [18] = {.index = 11, .length = 2},
  [20] = {.index = 13, .length = 1},
  [21] = {.index = 14, .length = 2},
  [22] = {.index = 16, .length = 2},
  [23] = {.index = 18, .length = 2},
  [24] = {.index = 20, .length = 3},
  [25] = {.index = 23, .length = 2},
  [26] = {.index = 25, .length = 1},
  [27] = {.index = 26, .length = 2},
  [28] = {.index = 28, .length = 3},
  [29] = {.index = 31, .length = 2},
  [37] = {.index = 33, .length = 2},
  [38] = {.index = 33, .length = 2},
  [39] = {.index = 35, .length = 3},
  [40] = {.index = 38, .length = 2},
  [41] = {.index = 40, .length = 2},
  [42] = {.index = 42, .length = 1},
  [43] = {.index = 43, .length = 3},
  [44] = {.index = 46, .length = 2},
  [45] = {.index = 48, .length = 1},
  [46] = {.index = 49, .length = 2},
  [47] = {.index = 51, .length = 1},
  [48] = {.index = 52, .length = 2},
  [49] = {.index = 54, .length = 1},
  [50] = {.index = 55, .length = 2},
  [55] = {.index = 57, .length = 1},
  [56] = {.index = 58, .length = 3},
  [57] = {.index = 61, .length = 2},
  [58] = {.index = 63, .length = 4},
  [59] = {.index = 67, .length = 2},
  [60] = {.index = 69, .length = 3},
  [61] = {.index = 72, .length = 2},
  [62] = {.index = 74, .length = 3},
  [65] = {.index = 77, .length = 3},
  [66] = {.index = 80, .length = 3},
  [67] = {.index = 83, .length = 2},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_name, 1, .inherited = true},
    {field_parameters, 1, .inherited = true},
  [2] =
    {field_name, 1},
  [3] =
    {field_body, 1},
  [4] =
    {field_arguments, 1},
    {field_method, 0},
  [6] =
    {field_block, 1},
    {field_method, 0},
  [8] =
    {field_body, 2},
    {field_condition, 1},
  [10] =
    {field_condition, 1},
  [11] =
    {field_alias, 2},
    {field_name, 1},
  [13] =
    {field_name, 0},
  [14] =
    {field_body, 2},
    {field_parameters, 1},
  [16] =
    {field_body, 0},
    {field_condition, 2},
  [18] =
    {field_body, 0},
    {field_handler, 2},
  [20] =
    {field_left, 0},
    {field_operator, 1},
    {field_right, 2},
  [23] =
    {field_method, 2},
    {field_receiver, 0},
  [25] =
    {field_object, 0},
  [26] =
    {field_name, 2},
    {field_scope, 0},
  [28] =
    {field_arguments, 1},
    {field_block, 2},
    {field_method, 0},
  [31] =
    {field_left, 0},
    {field_right, 2},
  [33] =
    {field_key, 0},
    {field_value, 2},
  [35] =
    {field_name, 3, .inherited = true},
    {field_object, 1},
    {field_parameters, 3, .inherited = true},
  [38] =
    {field_name, 0},
    {field_parameters, 1},
  [40] =
    {field_condition, 1},
    {field_consequence, 2},
  [42] =
    {field_pattern, 1},
  [43] =
    {field_body, 3},
    {field_pattern, 1},
    {field_value, 2},
  [46] =
    {field_pattern, 0, .inherited = true},
    {field_pattern, 1, .inherited = true},
  [48] =
    {field_value, 1},
  [49] =
    {field_body, 2},
    {field_exceptions, 1},
  [51] =
    {field_exceptions, 1},
  [52] =
    {field_body, 2},
    {field_variable, 1},
  [54] =
    {field_variable, 1},
  [55] =
    {field_name, 0},
    {field_value, 2},
  [57] =
    {field_value, 2},
  [58] =
    {field_alternative, 3},
    {field_condition, 1},
    {field_consequence, 2},
  [61] =
    {field_alternative, 3},
    {field_condition, 1},
  [63] =
    {field_body, 4},
    {field_pattern, 1},
    {field_pattern, 2, .inherited = true},
    {field_value, 3},
  [67] =
    {field_body, 2},
    {field_pattern, 1},
  [69] =
    {field_body, 3},
    {field_exceptions, 1},
    {field_variable, 2},
  [72] =
    {field_exceptions, 1},
    {field_variable, 2},
  [74] =
    {field_alternative, 4},
    {field_condition, 0},
    {field_consequence, 2},
  [77] =
    {field_name, 5, .inherited = true},
    {field_object, 2},
    {field_parameters, 5, .inherited = true},
  [80] =
    {field_body, 3},
    {field_pattern, 1},
    {field_pattern, 2},
  [83] =
    {field_pattern, 1},
    {field_pattern, 2},
};

static TSSymbol ts_alias_sequences[68][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
  [1] = {
    [1] = anon_alias_sym_DQUOTE,
  },
  [2] = {
    [1] = anon_sym_BQUOTE,
  },
  [3] = {
    [1] = anon_sym_SLASH,
  },
  [4] = {
    [1] = anon_sym_RPAREN,
  },
  [10] = {
    [2] = anon_alias_sym_DQUOTE,
  },
  [11] = {
    [2] = anon_sym_BQUOTE,
  },
  [12] = {
    [2] = anon_sym_SLASH,
  },
  [13] = {
    [2] = anon_sym_RPAREN,
  },
  [14] = {
    [1] = alias_sym_bare_string,
    [2] = anon_sym_RPAREN,
  },
  [15] = {
    [1] = alias_sym_bare_symbol,
    [2] = anon_sym_RPAREN,
  },
  [19] = {
    [0] = alias_sym_destructured_parameter,
  },
  [21] = {
    [1] = alias_sym_lambda_parameters,
  },
  [30] = {
    [3] = anon_sym_RPAREN,
  },
  [31] = {
    [2] = alias_sym_bare_string,
    [3] = anon_sym_RPAREN,
  },
  [32] = {
    [1] = alias_sym_bare_string,
    [3] = anon_sym_RPAREN,
  },
  [33] = {
    [1] = alias_sym_bare_string,
  },
  [34] = {
    [2] = alias_sym_bare_symbol,
    [3] = anon_sym_RPAREN,
  },
  [35] = {
    [1] = alias_sym_bare_symbol,
    [3] = anon_sym_RPAREN,
  },
  [36] = {
    [1] = alias_sym_bare_symbol,
  },
  [38] = {
    [0] = sym_symbol,
  },
  [40] = {
    [1] = alias_sym_method_parameters,
  },
  [51] = {
    [2] = alias_sym_bare_string,
    [4] = anon_sym_RPAREN,
  },
  [52] = {
    [1] = alias_sym_bare_string,
    [4] = anon_sym_RPAREN,
  },
  [53] = {
    [2] = alias_sym_bare_symbol,
    [4] = anon_sym_RPAREN,
  },
  [54] = {
    [1] = alias_sym_bare_symbol,
    [4] = anon_sym_RPAREN,
  },
  [63] = {
    [2] = alias_sym_bare_string,
    [5] = anon_sym_RPAREN,
  },
  [64] = {
    [2] = alias_sym_bare_symbol,
    [5] = anon_sym_RPAREN,
  },
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(226);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(201);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(229);
      if (lookahead == ':') ADVANCE(152);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'B') ADVANCE(250);
      if (lookahead == 'E') ADVANCE(258);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(83)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(94)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(230);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '\'' < lookahead)) ADVANCE(274);
      END_STATE();
    case 1:
      if (lookahead == '\n') ADVANCE(45);
      if (lookahead == '\r') ADVANCE(1);
      if (lookahead != 0) ADVANCE(1);
      END_STATE();
    case 2:
      if (lookahead == '\n') SKIP(18)
      END_STATE();
    case 3:
      if (lookahead == '\n') SKIP(16)
      END_STATE();
    case 4:
      if (lookahead == '\n') SKIP(17)
      END_STATE();
    case 5:
      if (lookahead == '\n') SKIP(28)
      END_STATE();
    case 6:
      if (lookahead == '\n') SKIP(22)
      END_STATE();
    case 7:
      if (lookahead == '\n') SKIP(20)
      END_STATE();
    case 8:
      if (lookahead == '\n') SKIP(23)
      END_STATE();
    case 9:
      if (lookahead == '\n') SKIP(25)
      END_STATE();
    case 10:
      if (lookahead == '\n') SKIP(30)
      END_STATE();
    case 11:
      if (lookahead == '\n') ADVANCE(291);
      if (lookahead == 'u') ADVANCE(62);
      if (lookahead == 'x') ADVANCE(76);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(294);
      if (lookahead != 0) ADVANCE(290);
      END_STATE();
    case 12:
      if (lookahead == '\n') ADVANCE(292);
      if (lookahead == 'u') ADVANCE(62);
      if (lookahead == 'x') ADVANCE(76);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(294);
      if (lookahead != 0) ADVANCE(290);
      END_STATE();
    case 13:
      if (lookahead == '\n') SKIP(32)
      END_STATE();
    case 14:
      if (lookahead == '\n') SKIP(33)
      END_STATE();
    case 15:
      if (lookahead == '\n') SKIP(29)
      END_STATE();
    case 16:
      if (lookahead == '!') ADVANCE(215);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(142);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(48);
      if (lookahead == '?') ADVANCE(51);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(3)
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(16)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '^' < lookahead) &&
          lookahead != '`' &&
          lookahead != '}') ADVANCE(274);
      END_STATE();
    case 17:
      if (lookahead == '!') ADVANCE(215);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '?') ADVANCE(51);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(4)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(17)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '^' < lookahead) &&
          lookahead != '`' &&
          lookahead != '|') ADVANCE(274);
      END_STATE();
    case 18:
      if (lookahead == '!') ADVANCE(215);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '?') ADVANCE(51);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'B') ADVANCE(250);
      if (lookahead == 'E') ADVANCE(258);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(2)
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(18)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '^' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 19:
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(35);
      if (lookahead == '+') ADVANCE(199);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == ':') ADVANCE(181);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(7)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(20)
      if (lookahead != 0 &&
          (lookahead < '"' || 'Z' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 20:
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(35);
      if (lookahead == '+') ADVANCE(199);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == ':') ADVANCE(180);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '\\') SKIP(7)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(20)
      if (lookahead != 0 &&
          (lookahead < '"' || '[' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 21:
      if (lookahead == '!') ADVANCE(217);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(203);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(39);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == ':') ADVANCE(151);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(44);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == '[') ADVANCE(52);
      if (lookahead == '\\') SKIP(6)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(22)
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead)) ADVANCE(274);
      END_STATE();
    case 22:
      if (lookahead == '!') ADVANCE(217);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(203);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(39);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(44);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == '[') ADVANCE(52);
      if (lookahead == '\\') SKIP(6)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(22)
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead)) ADVANCE(274);
      END_STATE();
    case 23:
      if (lookahead == '!') ADVANCE(217);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(203);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(39);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(155);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == '[') ADVANCE(52);
      if (lookahead == '\\') SKIP(8)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(23)
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(274);
      END_STATE();
    case 24:
      if (lookahead == '!') ADVANCE(217);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(203);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(39);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(44);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '[') ADVANCE(52);
      if (lookahead == '\\') SKIP(9)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(25)
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(274);
      END_STATE();
    case 25:
      if (lookahead == '!') ADVANCE(217);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(203);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(39);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(44);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '[') ADVANCE(52);
      if (lookahead == '\\') SKIP(9)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(25)
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          (lookahead < '{' || '}' < lookahead)) ADVANCE(274);
      END_STATE();
    case 26:
      if (lookahead == '#') ADVANCE(226);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '\\') ADVANCE(11);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(288);
      END_STATE();
    case 27:
      if (lookahead == '#') ADVANCE(226);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '\\') ADVANCE(12);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(27)
      END_STATE();
    case 28:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(142);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '?') ADVANCE(51);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(5)
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(28)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '|' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 29:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '\\') SKIP(15)
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(29)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 30:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(147);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '\\') SKIP(10)
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(30)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 31:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == ':') ADVANCE(151);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '\\') SKIP(13)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(32)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          lookahead != '}' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 32:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '\\') SKIP(13)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(32)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          lookahead != '}' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 33:
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '\\') SKIP(14)
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(289);
      END_STATE();
    case 34:
      if (lookahead == '*') ADVANCE(146);
      if (lookahead == '=') ADVANCE(167);
      END_STATE();
    case 35:
      if (lookahead == '*') ADVANCE(145);
      END_STATE();
    case 36:
      if (lookahead == '-') ADVANCE(80);
      END_STATE();
    case 37:
      if (lookahead == '.') ADVANCE(163);
      END_STATE();
    case 38:
      if (lookahead == '.') ADVANCE(183);
      END_STATE();
    case 39:
      if (lookahead == '.') ADVANCE(182);
      END_STATE();
    case 40:
      if (lookahead == ':') ADVANCE(162);
      END_STATE();
    case 41:
      if (lookahead == ':') ADVANCE(136);
      END_STATE();
    case 42:
      if (lookahead == '=') ADVANCE(210);
      if (lookahead == '~') ADVANCE(214);
      END_STATE();
    case 43:
      if (lookahead == '=') ADVANCE(209);
      if (lookahead == '>') ADVANCE(159);
      if (lookahead == 'b') ADVANCE(55);
      if (lookahead == '~') ADVANCE(213);
      END_STATE();
    case 44:
      if (lookahead == '=') ADVANCE(209);
      if (lookahead == 'b') ADVANCE(55);
      if (lookahead == '~') ADVANCE(213);
      END_STATE();
    case 45:
      if (lookahead == '=') ADVANCE(56);
      if (lookahead != 0) ADVANCE(45);
      END_STATE();
    case 46:
      if (lookahead == '=') ADVANCE(166);
      END_STATE();
    case 47:
      if (lookahead == '=') ADVANCE(166);
      if (lookahead == '>') ADVANCE(297);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 48:
      if (lookahead == '>') ADVANCE(159);
      if (lookahead == 'b') ADVANCE(55);
      END_STATE();
    case 49:
      if (lookahead == '>') ADVANCE(297);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 50:
      if (lookahead == '@') ADVANCE(82);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '?' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(275);
      END_STATE();
    case 51:
      if (lookahead == '\\') ADVANCE(286);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(282);
      END_STATE();
    case 52:
      if (lookahead == ']') ADVANCE(222);
      END_STATE();
    case 53:
      if (lookahead == 'b') ADVANCE(55);
      END_STATE();
    case 54:
      if (lookahead == 'd') ADVANCE(225);
      if (lookahead != 0) ADVANCE(45);
      END_STATE();
    case 55:
      if (lookahead == 'e') ADVANCE(57);
      END_STATE();
    case 56:
      if (lookahead == 'e') ADVANCE(61);
      if (lookahead != 0) ADVANCE(45);
      END_STATE();
    case 57:
      if (lookahead == 'g') ADVANCE(59);
      END_STATE();
    case 58:
      if (lookahead == 'i') ADVANCE(240);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 59:
      if (lookahead == 'i') ADVANCE(60);
      END_STATE();
    case 60:
      if (lookahead == 'n') ADVANCE(1);
      END_STATE();
    case 61:
      if (lookahead == 'n') ADVANCE(54);
      if (lookahead != 0) ADVANCE(45);
      END_STATE();
    case 62:
      if (lookahead == '{') ADVANCE(79);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78);
      END_STATE();
    case 63:
      if (lookahead == '}') ADVANCE(282);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63);
      END_STATE();
    case 64:
      if (lookahead == '}') ADVANCE(290);
      if (lookahead == ' ' ||
          ('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(64);
      END_STATE();
    case 65:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(72);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(239);
      END_STATE();
    case 66:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(232);
      END_STATE();
    case 67:
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(230);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(228);
      END_STATE();
    case 68:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(233);
      END_STATE();
    case 69:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(230);
      END_STATE();
    case 70:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(238);
      END_STATE();
    case 71:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(234);
      END_STATE();
    case 72:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(239);
      END_STATE();
    case 73:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 74:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(231);
      END_STATE();
    case 75:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(290);
      END_STATE();
    case 76:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(295);
      END_STATE();
    case 77:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(75);
      END_STATE();
    case 78:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77);
      END_STATE();
    case 79:
      if (lookahead == ' ' ||
          ('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(64);
      END_STATE();
    case 80:
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(282);
      END_STATE();
    case 81:
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(284);
      END_STATE();
    case 82:
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(276);
      END_STATE();
    case 83:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(94)
      END_STATE();
    case 84:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(101)
      END_STATE();
    case 85:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(105)
      END_STATE();
    case 86:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(104)
      END_STATE();
    case 87:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(107)
      END_STATE();
    case 88:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(108)
      END_STATE();
    case 89:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(111)
      END_STATE();
    case 90:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(112)
      END_STATE();
    case 91:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(97)
      END_STATE();
    case 92:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(98)
      END_STATE();
    case 93:
      if (eof) ADVANCE(113);
      if (lookahead == '\n') SKIP(100)
      END_STATE();
    case 94:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(226);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(201);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(219);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(229);
      if (lookahead == ':') ADVANCE(180);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'B') ADVANCE(250);
      if (lookahead == 'E') ADVANCE(258);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(83)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '`') ADVANCE(224);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(94)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(230);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '\'' < lookahead)) ADVANCE(274);
      END_STATE();
    case 95:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(202);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(47);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(152);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(91)
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(97)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 96:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(202);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(47);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(40);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(155);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(92)
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(98)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 97:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(202);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(47);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(91)
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(97)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 98:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(143);
      if (lookahead == '+') ADVANCE(202);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(47);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(155);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(92)
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(98)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 99:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(40);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(93)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(100)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 100:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(216);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(144);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(179);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(93)
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(100)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || ']' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 101:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(215);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '$') ADVANCE(278);
      if (lookahead == '(') ADVANCE(132);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(142);
      if (lookahead == '+') ADVANCE(204);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(49);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == '0') ADVANCE(236);
      if (lookahead == ':') ADVANCE(41);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '?') ADVANCE(51);
      if (lookahead == '@') ADVANCE(50);
      if (lookahead == 'B') ADVANCE(250);
      if (lookahead == 'E') ADVANCE(258);
      if (lookahead == 'F') ADVANCE(248);
      if (lookahead == 'N') ADVANCE(255);
      if (lookahead == 'T') ADVANCE(260);
      if (lookahead == '[') ADVANCE(296);
      if (lookahead == '\\') SKIP(84)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == 'f') ADVANCE(265);
      if (lookahead == 'n') ADVANCE(268);
      if (lookahead == 't') ADVANCE(271);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(138);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '~') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(101)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(237);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '^' < lookahead) &&
          lookahead != '`') ADVANCE(274);
      END_STATE();
    case 102:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(34);
      if (lookahead == '+') ADVANCE(200);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(46);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == ':') ADVANCE(152);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(85)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(105)
      if (lookahead != 0 &&
          (lookahead < '"' || 'Z' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 103:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(34);
      if (lookahead == '+') ADVANCE(200);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(46);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == ':') ADVANCE(181);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(155);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(86)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(104)
      if (lookahead != 0 &&
          (lookahead < '"' || 'Z' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 104:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(34);
      if (lookahead == '+') ADVANCE(200);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(46);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == ':') ADVANCE(180);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(155);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '\\') SKIP(86)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(104)
      if (lookahead != 0 &&
          (lookahead < '"' || '[' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 105:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(208);
      if (lookahead == '&') ADVANCE(148);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(34);
      if (lookahead == '+') ADVANCE(200);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '-') ADVANCE(46);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(206);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(157);
      if (lookahead == '=') ADVANCE(154);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '\\') SKIP(85)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(198);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(139);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(105)
      if (lookahead != 0 &&
          (lookahead < '"' || '[' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 106:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(35);
      if (lookahead == '+') ADVANCE(199);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '0') ADVANCE(229);
      if (lookahead == ':') ADVANCE(152);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(87)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(107)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(230);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '@' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 107:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(150);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(35);
      if (lookahead == '+') ADVANCE(199);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == '0') ADVANCE(229);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '\\') SKIP(87)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(107)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(230);
      if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263);
      if (lookahead != 0 &&
          (lookahead < '"' || '[' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 108:
      if (eof) ADVANCE(113);
      if (lookahead == '!') ADVANCE(42);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '%') ADVANCE(207);
      if (lookahead == '&') ADVANCE(149);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == '*') ADVANCE(35);
      if (lookahead == '+') ADVANCE(199);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(38);
      if (lookahead == '/') ADVANCE(205);
      if (lookahead == ':') ADVANCE(180);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(158);
      if (lookahead == '=') ADVANCE(43);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(178);
      if (lookahead == '\\') SKIP(88)
      if (lookahead == ']') ADVANCE(161);
      if (lookahead == '^') ADVANCE(197);
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '|') ADVANCE(140);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(108)
      if (lookahead != 0 &&
          (lookahead < '"' || '[' < lookahead) &&
          lookahead != '`' &&
          lookahead != '~') ADVANCE(274);
      END_STATE();
    case 109:
      if (eof) ADVANCE(113);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(37);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ':') ADVANCE(40);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(156);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(89)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(111)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '|' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 110:
      if (eof) ADVANCE(113);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(37);
      if (lookahead == '(') ADVANCE(164);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ':') ADVANCE(40);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '[') ADVANCE(160);
      if (lookahead == '\\') SKIP(90)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(112)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '|' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 111:
      if (eof) ADVANCE(113);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(37);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '<') ADVANCE(156);
      if (lookahead == '=') ADVANCE(53);
      if (lookahead == '\\') SKIP(89)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(111)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '|' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 112:
      if (eof) ADVANCE(113);
      if (lookahead == '#') ADVANCE(227);
      if (lookahead == '&') ADVANCE(37);
      if (lookahead == ')') ADVANCE(133);
      if (lookahead == ',') ADVANCE(137);
      if (lookahead == '.') ADVANCE(134);
      if (lookahead == ';') ADVANCE(141);
      if (lookahead == '=') ADVANCE(153);
      if (lookahead == '\\') SKIP(90)
      if (lookahead == '{') ADVANCE(129);
      if (lookahead == '}') ADVANCE(130);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(112)
      if (lookahead != 0 &&
          (lookahead < '!' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '|' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n') ADVANCE(117);
      if (lookahead != 0) ADVANCE(118);
      END_STATE();
    case 115:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n') ADVANCE(118);
      if (lookahead != 0) ADVANCE(115);
      END_STATE();
    case 116:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\n') ADVANCE(119);
      if (lookahead == '\r') ADVANCE(116);
      if (lookahead != 0) ADVANCE(116);
      END_STATE();
    case 117:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(117);
      if (lookahead == '#') ADVANCE(115);
      if (lookahead == '=') ADVANCE(120);
      if (lookahead == '\\') ADVANCE(114);
      if (lookahead != 0) ADVANCE(118);
      END_STATE();
    case 118:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0) ADVANCE(118);
      END_STATE();
    case 119:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != '=') ADVANCE(119);
      if (lookahead == '=') ADVANCE(123);
      END_STATE();
    case 120:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'b') ADVANCE(118);
      if (lookahead == 'b') ADVANCE(122);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'd') ADVANCE(119);
      if (lookahead == 'd') ADVANCE(118);
      END_STATE();
    case 122:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'e') ADVANCE(118);
      if (lookahead == 'e') ADVANCE(124);
      END_STATE();
    case 123:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'e') ADVANCE(119);
      if (lookahead == 'e') ADVANCE(127);
      END_STATE();
    case 124:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'g') ADVANCE(118);
      if (lookahead == 'g') ADVANCE(125);
      END_STATE();
    case 125:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'i') ADVANCE(118);
      if (lookahead == 'i') ADVANCE(126);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'n') ADVANCE(118);
      if (lookahead == 'n') ADVANCE(116);
      END_STATE();
    case 127:
      ACCEPT_TOKEN(sym_uninterpreted);
      if (lookahead != 0 &&
          lookahead != 'n') ADVANCE(119);
      if (lookahead == 'n') ADVANCE(121);
      END_STATE();
    case 128:
      ACCEPT_TOKEN(anon_sym_BEGIN);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      END_STATE();
    case 130:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 131:
      ACCEPT_TOKEN(anon_sym_END);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 132:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 133:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 134:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(183);
      END_STATE();
    case 136:
      ACCEPT_TOKEN(anon_sym_COLON_COLON);
      END_STATE();
    case 137:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 138:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 139:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '=') ADVANCE(171);
      if (lookahead == '|') ADVANCE(186);
      END_STATE();
    case 140:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '|') ADVANCE(185);
      END_STATE();
    case 141:
      ACCEPT_TOKEN(anon_sym_SEMI);
      END_STATE();
    case 142:
      ACCEPT_TOKEN(anon_sym_STAR);
      END_STATE();
    case 143:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '*') ADVANCE(146);
      if (lookahead == '=') ADVANCE(167);
      END_STATE();
    case 144:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '*') ADVANCE(145);
      END_STATE();
    case 145:
      ACCEPT_TOKEN(anon_sym_STAR_STAR);
      END_STATE();
    case 146:
      ACCEPT_TOKEN(anon_sym_STAR_STAR);
      if (lookahead == '=') ADVANCE(168);
      END_STATE();
    case 147:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 148:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&') ADVANCE(188);
      if (lookahead == '.') ADVANCE(163);
      if (lookahead == '=') ADVANCE(173);
      END_STATE();
    case 149:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&') ADVANCE(187);
      END_STATE();
    case 150:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&') ADVANCE(187);
      if (lookahead == '.') ADVANCE(163);
      END_STATE();
    case 151:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 152:
      ACCEPT_TOKEN(anon_sym_COLON);
      if (lookahead == ':') ADVANCE(162);
      END_STATE();
    case 153:
      ACCEPT_TOKEN(anon_sym_EQ);
      END_STATE();
    case 154:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=') ADVANCE(209);
      if (lookahead == '>') ADVANCE(159);
      if (lookahead == '~') ADVANCE(213);
      END_STATE();
    case 155:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=') ADVANCE(209);
      if (lookahead == '~') ADVANCE(213);
      END_STATE();
    case 156:
      ACCEPT_TOKEN(anon_sym_LT);
      END_STATE();
    case 157:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(190);
      if (lookahead == '=') ADVANCE(193);
      END_STATE();
    case 158:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(189);
      if (lookahead == '=') ADVANCE(193);
      END_STATE();
    case 159:
      ACCEPT_TOKEN(anon_sym_EQ_GT);
      END_STATE();
    case 160:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 161:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 162:
      ACCEPT_TOKEN(anon_sym_COLON_COLON2);
      END_STATE();
    case 163:
      ACCEPT_TOKEN(anon_sym_AMP_DOT);
      END_STATE();
    case 164:
      ACCEPT_TOKEN(anon_sym_LPAREN2);
      END_STATE();
    case 165:
      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
      END_STATE();
    case 166:
      ACCEPT_TOKEN(anon_sym_DASH_EQ);
      END_STATE();
    case 167:
      ACCEPT_TOKEN(anon_sym_STAR_EQ);
      END_STATE();
    case 168:
      ACCEPT_TOKEN(anon_sym_STAR_STAR_EQ);
      END_STATE();
    case 169:
      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
      END_STATE();
    case 170:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE_EQ);
      END_STATE();
    case 171:
      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
      END_STATE();
    case 172:
      ACCEPT_TOKEN(anon_sym_AMP_AMP_EQ);
      END_STATE();
    case 173:
      ACCEPT_TOKEN(anon_sym_AMP_EQ);
      END_STATE();
    case 174:
      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
      END_STATE();
    case 175:
      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
      END_STATE();
    case 176:
      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
      END_STATE();
    case 177:
      ACCEPT_TOKEN(anon_sym_CARET_EQ);
      END_STATE();
    case 178:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 179:
      ACCEPT_TOKEN(anon_sym_QMARK);
      if (lookahead == '\\') ADVANCE(286);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(282);
      END_STATE();
    case 180:
      ACCEPT_TOKEN(anon_sym_COLON2);
      END_STATE();
    case 181:
      ACCEPT_TOKEN(anon_sym_COLON2);
      if (lookahead == ':') ADVANCE(162);
      END_STATE();
    case 182:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      END_STATE();
    case 183:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      if (lookahead == '.') ADVANCE(184);
      END_STATE();
    case 184:
      ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
      END_STATE();
    case 185:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
      END_STATE();
    case 186:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
      if (lookahead == '=') ADVANCE(170);
      END_STATE();
    case 187:
      ACCEPT_TOKEN(anon_sym_AMP_AMP);
      END_STATE();
    case 188:
      ACCEPT_TOKEN(anon_sym_AMP_AMP);
      if (lookahead == '=') ADVANCE(172);
      END_STATE();
    case 189:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      END_STATE();
    case 190:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      if (lookahead == '=') ADVANCE(176);
      END_STATE();
    case 191:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      END_STATE();
    case 192:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      if (lookahead == '=') ADVANCE(175);
      END_STATE();
    case 193:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      if (lookahead == '>') ADVANCE(212);
      END_STATE();
    case 194:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(196);
      if (lookahead == '>') ADVANCE(192);
      END_STATE();
    case 195:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(196);
      if (lookahead == '>') ADVANCE(191);
      END_STATE();
    case 196:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 197:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 198:
      ACCEPT_TOKEN(anon_sym_CARET);
      if (lookahead == '=') ADVANCE(177);
      END_STATE();
    case 199:
      ACCEPT_TOKEN(anon_sym_PLUS);
      END_STATE();
    case 200:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=') ADVANCE(165);
      END_STATE();
    case 201:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=') ADVANCE(165);
      if (lookahead == '@') ADVANCE(220);
      END_STATE();
    case 202:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=') ADVANCE(165);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 203:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '@') ADVANCE(220);
      END_STATE();
    case 204:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(58);
      END_STATE();
    case 205:
      ACCEPT_TOKEN(anon_sym_SLASH);
      END_STATE();
    case 206:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '=') ADVANCE(169);
      END_STATE();
    case 207:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      END_STATE();
    case 208:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      if (lookahead == '=') ADVANCE(174);
      END_STATE();
    case 209:
      ACCEPT_TOKEN(anon_sym_EQ_EQ);
      if (lookahead == '=') ADVANCE(211);
      END_STATE();
    case 210:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      END_STATE();
    case 211:
      ACCEPT_TOKEN(anon_sym_EQ_EQ_EQ);
      END_STATE();
    case 212:
      ACCEPT_TOKEN(anon_sym_LT_EQ_GT);
      END_STATE();
    case 213:
      ACCEPT_TOKEN(anon_sym_EQ_TILDE);
      END_STATE();
    case 214:
      ACCEPT_TOKEN(anon_sym_BANG_TILDE);
      END_STATE();
    case 215:
      ACCEPT_TOKEN(anon_sym_BANG);
      END_STATE();
    case 216:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '=') ADVANCE(210);
      if (lookahead == '~') ADVANCE(214);
      END_STATE();
    case 217:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '~') ADVANCE(214);
      END_STATE();
    case 218:
      ACCEPT_TOKEN(anon_sym_TILDE);
      END_STATE();
    case 219:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '@') ADVANCE(221);
      END_STATE();
    case 220:
      ACCEPT_TOKEN(anon_sym_PLUS_AT);
      END_STATE();
    case 221:
      ACCEPT_TOKEN(anon_sym_DASH_AT);
      END_STATE();
    case 222:
      ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK);
      if (lookahead == '=') ADVANCE(223);
      END_STATE();
    case 223:
      ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK_EQ);
      END_STATE();
    case 224:
      ACCEPT_TOKEN(anon_sym_BQUOTE);
      END_STATE();
    case 225:
      ACCEPT_TOKEN(sym_comment);
      END_STATE();
    case 226:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '{') ADVANCE(287);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(227);
      END_STATE();
    case 227:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(227);
      END_STATE();
    case 228:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(67);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(230);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(228);
      END_STATE();
    case 229:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(69);
      if (lookahead == 'x') ADVANCE(74);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(230);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(66);
      if (lookahead == 'D' ||
          lookahead == 'd') ADVANCE(71);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(228);
      END_STATE();
    case 230:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(69);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(230);
      END_STATE();
    case 231:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_') ADVANCE(74);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(231);
      END_STATE();
    case 232:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_') ADVANCE(66);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(232);
      END_STATE();
    case 233:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(233);
      END_STATE();
    case 234:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '_') ADVANCE(71);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(234);
      END_STATE();
    case 235:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(73);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(67);
      if (lookahead == 'i') ADVANCE(240);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(237);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(235);
      END_STATE();
    case 236:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(73);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(69);
      if (lookahead == 'i') ADVANCE(240);
      if (lookahead == 'x') ADVANCE(74);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(237);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(66);
      if (lookahead == 'D' ||
          lookahead == 'd') ADVANCE(71);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(235);
      END_STATE();
    case 237:
      ACCEPT_TOKEN(sym_integer);
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(73);
      if (lookahead == '.') ADVANCE(70);
      if (lookahead == '_') ADVANCE(69);
      if (lookahead == 'i') ADVANCE(240);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(237);
      END_STATE();
    case 238:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == '_') ADVANCE(70);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(65);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(238);
      END_STATE();
    case 239:
      ACCEPT_TOKEN(sym_float);
      if (lookahead == '_') ADVANCE(72);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(239);
      END_STATE();
    case 240:
      ACCEPT_TOKEN(sym_complex);
      END_STATE();
    case 241:
      ACCEPT_TOKEN(sym_true);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 242:
      ACCEPT_TOKEN(sym_true);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 243:
      ACCEPT_TOKEN(sym_false);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 244:
      ACCEPT_TOKEN(sym_false);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 245:
      ACCEPT_TOKEN(sym_nil);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 246:
      ACCEPT_TOKEN(sym_nil);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 247:
      ACCEPT_TOKEN(sym_constant);
      END_STATE();
    case 248:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'A') ADVANCE(256);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 249:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'D') ADVANCE(131);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 250:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'E') ADVANCE(253);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 251:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'E') ADVANCE(241);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 252:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'E') ADVANCE(243);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 253:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'G') ADVANCE(254);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 254:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'I') ADVANCE(259);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 255:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'I') ADVANCE(257);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 256:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'L') ADVANCE(261);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 257:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'L') ADVANCE(245);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 258:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'N') ADVANCE(249);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 259:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'N') ADVANCE(128);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 260:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'R') ADVANCE(262);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 261:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'S') ADVANCE(252);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 262:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead == 'U') ADVANCE(251);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 263:
      ACCEPT_TOKEN(sym_constant);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(247);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(263);
      END_STATE();
    case 264:
      ACCEPT_TOKEN(sym_identifier);
      END_STATE();
    case 265:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'a') ADVANCE(269);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 266:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'e') ADVANCE(242);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 267:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'e') ADVANCE(244);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 268:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'i') ADVANCE(270);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 269:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'l') ADVANCE(272);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 270:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'l') ADVANCE(246);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 271:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'r') ADVANCE(273);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 272:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 's') ADVANCE(267);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 273:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead == 'u') ADVANCE(266);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 274:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '!' ||
          lookahead == '?') ADVANCE(264);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(274);
      END_STATE();
    case 275:
      ACCEPT_TOKEN(sym_instance_variable);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(275);
      END_STATE();
    case 276:
      ACCEPT_TOKEN(sym_class_variable);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          (lookahead < ' ' || '/' < lookahead) &&
          (lookahead < ':' || '@' < lookahead) &&
          (lookahead < '[' || '^' < lookahead) &&
          lookahead != '`' &&
          (lookahead < '{' || '~' < lookahead)) ADVANCE(276);
      END_STATE();
    case 277:
      ACCEPT_TOKEN(sym_global_variable);
      END_STATE();
    case 278:
      ACCEPT_TOKEN(sym_global_variable);
      if (lookahead == '-') ADVANCE(280);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(279);
      if (lookahead == '!' ||
          lookahead == '"' ||
          lookahead == '$' ||
          lookahead == '&' ||
          lookahead == '\'' ||
          ('*' <= lookahead && lookahead <= '@') ||
          lookahead == '\\' ||
          lookahead == '`' ||
          lookahead == '~') ADVANCE(277);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(281);
      END_STATE();
    case 279:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(279);
      END_STATE();
    case 280:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(279);
      if (lookahead == '!' ||
          lookahead == '"' ||
          lookahead == '$' ||
          lookahead == '&' ||
          lookahead == '\'' ||
          ('*' <= lookahead && lookahead <= ',') ||
          ('.' <= lookahead && lookahead <= '@') ||
          lookahead == '\\' ||
          lookahead == '`' ||
          lookahead == '~') ADVANCE(277);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('_' <= lookahead && lookahead <= 'z')) ADVANCE(281);
      END_STATE();
    case 281:
      ACCEPT_TOKEN(sym_global_variable);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z')) ADVANCE(281);
      END_STATE();
    case 282:
      ACCEPT_TOKEN(sym_character);
      END_STATE();
    case 283:
      ACCEPT_TOKEN(sym_character);
      if (lookahead == '-') ADVANCE(81);
      if (lookahead == '{') ADVANCE(63);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(285);
      END_STATE();
    case 284:
      ACCEPT_TOKEN(sym_character);
      if (lookahead == 'C' ||
          lookahead == 'M') ADVANCE(36);
      END_STATE();
    case 285:
      ACCEPT_TOKEN(sym_character);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(285);
      END_STATE();
    case 286:
      ACCEPT_TOKEN(sym_character);
      if (lookahead != 0 &&
          lookahead != '\t' &&
          lookahead != '\n' &&
          lookahead != '\r' &&
          lookahead != ' ') ADVANCE(283);
      END_STATE();
    case 287:
      ACCEPT_TOKEN(anon_sym_POUND_LBRACE);
      END_STATE();
    case 288:
      ACCEPT_TOKEN(aux_sym_string_array_token1);
      if (lookahead == '\\') ADVANCE(11);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(288);
      END_STATE();
    case 289:
      ACCEPT_TOKEN(aux_sym_string_array_token1);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(289);
      END_STATE();
    case 290:
      ACCEPT_TOKEN(sym_escape_sequence);
      END_STATE();
    case 291:
      ACCEPT_TOKEN(sym_escape_sequence);
      if (lookahead == '\\') ADVANCE(11);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(288);
      END_STATE();
    case 292:
      ACCEPT_TOKEN(sym_escape_sequence);
      if (lookahead == '\\') ADVANCE(12);
      END_STATE();
    case 293:
      ACCEPT_TOKEN(sym_escape_sequence);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(290);
      END_STATE();
    case 294:
      ACCEPT_TOKEN(sym_escape_sequence);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(293);
      END_STATE();
    case 295:
      ACCEPT_TOKEN(sym_escape_sequence);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(290);
      END_STATE();
    case 296:
      ACCEPT_TOKEN(anon_sym_LBRACK2);
      END_STATE();
    case 297:
      ACCEPT_TOKEN(anon_sym_DASH_GT);
      END_STATE();
    default:
      return false;
  }
}

static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (lookahead == '\\') SKIP(1)
      if (lookahead == '_') ADVANCE(2);
      if (lookahead == 'a') ADVANCE(3);
      if (lookahead == 'b') ADVANCE(4);
      if (lookahead == 'c') ADVANCE(5);
      if (lookahead == 'd') ADVANCE(6);
      if (lookahead == 'e') ADVANCE(7);
      if (lookahead == 'f') ADVANCE(8);
      if (lookahead == 'i') ADVANCE(9);
      if (lookahead == 'm') ADVANCE(10);
      if (lookahead == 'n') ADVANCE(11);
      if (lookahead == 'o') ADVANCE(12);
      if (lookahead == 'r') ADVANCE(13);
      if (lookahead == 's') ADVANCE(14);
      if (lookahead == 't') ADVANCE(15);
      if (lookahead == 'u') ADVANCE(16);
      if (lookahead == 'w') ADVANCE(17);
      if (lookahead == 'y') ADVANCE(18);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(0)
      END_STATE();
    case 1:
      if (lookahead == '\n') SKIP(0)
      END_STATE();
    case 2:
      if (lookahead == '_') ADVANCE(19);
      END_STATE();
    case 3:
      if (lookahead == 'l') ADVANCE(20);
      if (lookahead == 'n') ADVANCE(21);
      END_STATE();
    case 4:
      if (lookahead == 'e') ADVANCE(22);
      if (lookahead == 'r') ADVANCE(23);
      END_STATE();
    case 5:
      if (lookahead == 'a') ADVANCE(24);
      if (lookahead == 'l') ADVANCE(25);
      END_STATE();
    case 6:
      if (lookahead == 'e') ADVANCE(26);
      if (lookahead == 'o') ADVANCE(27);
      END_STATE();
    case 7:
      if (lookahead == 'l') ADVANCE(28);
      if (lookahead == 'n') ADVANCE(29);
      END_STATE();
    case 8:
      if (lookahead == 'o') ADVANCE(30);
      END_STATE();
    case 9:
      if (lookahead == 'f') ADVANCE(31);
      if (lookahead == 'n') ADVANCE(32);
      END_STATE();
    case 10:
      if (lookahead == 'o') ADVANCE(33);
      END_STATE();
    case 11:
      if (lookahead == 'e') ADVANCE(34);
      if (lookahead == 'o') ADVANCE(35);
      END_STATE();
    case 12:
      if (lookahead == 'r') ADVANCE(36);
      END_STATE();
    case 13:
      ACCEPT_TOKEN(anon_sym_r);
      if (lookahead == 'e') ADVANCE(37);
      END_STATE();
    case 14:
      if (lookahead == 'e') ADVANCE(38);
      if (lookahead == 'u') ADVANCE(39);
      END_STATE();
    case 15:
      if (lookahead == 'h') ADVANCE(40);
      END_STATE();
    case 16:
      if (lookahead == 'n') ADVANCE(41);
      END_STATE();
    case 17:
      if (lookahead == 'h') ADVANCE(42);
      END_STATE();
    case 18:
      if (lookahead == 'i') ADVANCE(43);
      END_STATE();
    case 19:
      if (lookahead == 'E') ADVANCE(44);
      END_STATE();
    case 20:
      if (lookahead == 'i') ADVANCE(45);
      END_STATE();
    case 21:
      if (lookahead == 'd') ADVANCE(46);
      END_STATE();
    case 22:
      if (lookahead == 'g') ADVANCE(47);
      END_STATE();
    case 23:
      if (lookahead == 'e') ADVANCE(48);
      END_STATE();
    case 24:
      if (lookahead == 's') ADVANCE(49);
      END_STATE();
    case 25:
      if (lookahead == 'a') ADVANCE(50);
      END_STATE();
    case 26:
      if (lookahead == 'f') ADVANCE(51);
      END_STATE();
    case 27:
      ACCEPT_TOKEN(anon_sym_do);
      END_STATE();
    case 28:
      if (lookahead == 's') ADVANCE(52);
      END_STATE();
    case 29:
      if (lookahead == 'd') ADVANCE(53);
      if (lookahead == 's') ADVANCE(54);
      END_STATE();
    case 30:
      if (lookahead == 'r') ADVANCE(55);
      END_STATE();
    case 31:
      ACCEPT_TOKEN(anon_sym_if);
      END_STATE();
    case 32:
      ACCEPT_TOKEN(anon_sym_in);
      END_STATE();
    case 33:
      if (lookahead == 'd') ADVANCE(56);
      END_STATE();
    case 34:
      if (lookahead == 'x') ADVANCE(57);
      END_STATE();
    case 35:
      if (lookahead == 't') ADVANCE(58);
      END_STATE();
    case 36:
      ACCEPT_TOKEN(anon_sym_or);
      END_STATE();
    case 37:
      if (lookahead == 'd') ADVANCE(59);
      if (lookahead == 's') ADVANCE(60);
      if (lookahead == 't') ADVANCE(61);
      END_STATE();
    case 38:
      if (lookahead == 'l') ADVANCE(62);
      END_STATE();
    case 39:
      if (lookahead == 'p') ADVANCE(63);
      END_STATE();
    case 40:
      if (lookahead == 'e') ADVANCE(64);
      END_STATE();
    case 41:
      if (lookahead == 'd') ADVANCE(65);
      if (lookahead == 'l') ADVANCE(66);
      if (lookahead == 't') ADVANCE(67);
      END_STATE();
    case 42:
      if (lookahead == 'e') ADVANCE(68);
      if (lookahead == 'i') ADVANCE(69);
      END_STATE();
    case 43:
      if (lookahead == 'e') ADVANCE(70);
      END_STATE();
    case 44:
      if (lookahead == 'N') ADVANCE(71);
      END_STATE();
    case 45:
      if (lookahead == 'a') ADVANCE(72);
      END_STATE();
    case 46:
      ACCEPT_TOKEN(anon_sym_and);
      END_STATE();
    case 47:
      if (lookahead == 'i') ADVANCE(73);
      END_STATE();
    case 48:
      if (lookahead == 'a') ADVANCE(74);
      END_STATE();
    case 49:
      if (lookahead == 'e') ADVANCE(75);
      END_STATE();
    case 50:
      if (lookahead == 's') ADVANCE(76);
      END_STATE();
    case 51:
      ACCEPT_TOKEN(anon_sym_def);
      if (lookahead == 'i') ADVANCE(77);
      END_STATE();
    case 52:
      if (lookahead == 'e') ADVANCE(78);
      if (lookahead == 'i') ADVANCE(79);
      END_STATE();
    case 53:
      ACCEPT_TOKEN(anon_sym_end);
      END_STATE();
    case 54:
      if (lookahead == 'u') ADVANCE(80);
      END_STATE();
    case 55:
      ACCEPT_TOKEN(anon_sym_for);
      END_STATE();
    case 56:
      if (lookahead == 'u') ADVANCE(81);
      END_STATE();
    case 57:
      if (lookahead == 't') ADVANCE(82);
      END_STATE();
    case 58:
      ACCEPT_TOKEN(anon_sym_not);
      END_STATE();
    case 59:
      if (lookahead == 'o') ADVANCE(83);
      END_STATE();
    case 60:
      if (lookahead == 'c') ADVANCE(84);
      END_STATE();
    case 61:
      if (lookahead == 'r') ADVANCE(85);
      if (lookahead == 'u') ADVANCE(86);
      END_STATE();
    case 62:
      if (lookahead == 'f') ADVANCE(87);
      END_STATE();
    case 63:
      if (lookahead == 'e') ADVANCE(88);
      END_STATE();
    case 64:
      if (lookahead == 'n') ADVANCE(89);
      END_STATE();
    case 65:
      if (lookahead == 'e') ADVANCE(90);
      END_STATE();
    case 66:
      if (lookahead == 'e') ADVANCE(91);
      END_STATE();
    case 67:
      if (lookahead == 'i') ADVANCE(92);
      END_STATE();
    case 68:
      if (lookahead == 'n') ADVANCE(93);
      END_STATE();
    case 69:
      if (lookahead == 'l') ADVANCE(94);
      END_STATE();
    case 70:
      if (lookahead == 'l') ADVANCE(95);
      END_STATE();
    case 71:
      if (lookahead == 'D') ADVANCE(96);
      END_STATE();
    case 72:
      if (lookahead == 's') ADVANCE(97);
      END_STATE();
    case 73:
      if (lookahead == 'n') ADVANCE(98);
      END_STATE();
    case 74:
      if (lookahead == 'k') ADVANCE(99);
      END_STATE();
    case 75:
      ACCEPT_TOKEN(anon_sym_case);
      END_STATE();
    case 76:
      if (lookahead == 's') ADVANCE(100);
      END_STATE();
    case 77:
      if (lookahead == 'n') ADVANCE(101);
      END_STATE();
    case 78:
      ACCEPT_TOKEN(anon_sym_else);
      END_STATE();
    case 79:
      if (lookahead == 'f') ADVANCE(102);
      END_STATE();
    case 80:
      if (lookahead == 'r') ADVANCE(103);
      END_STATE();
    case 81:
      if (lookahead == 'l') ADVANCE(104);
      END_STATE();
    case 82:
      ACCEPT_TOKEN(anon_sym_next);
      END_STATE();
    case 83:
      ACCEPT_TOKEN(anon_sym_redo);
      END_STATE();
    case 84:
      if (lookahead == 'u') ADVANCE(105);
      END_STATE();
    case 85:
      if (lookahead == 'y') ADVANCE(106);
      END_STATE();
    case 86:
      if (lookahead == 'r') ADVANCE(107);
      END_STATE();
    case 87:
      ACCEPT_TOKEN(sym_self);
      END_STATE();
    case 88:
      if (lookahead == 'r') ADVANCE(108);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(anon_sym_then);
      END_STATE();
    case 90:
      if (lookahead == 'f') ADVANCE(109);
      END_STATE();
    case 91:
      if (lookahead == 's') ADVANCE(110);
      END_STATE();
    case 92:
      if (lookahead == 'l') ADVANCE(111);
      END_STATE();
    case 93:
      ACCEPT_TOKEN(anon_sym_when);
      END_STATE();
    case 94:
      if (lookahead == 'e') ADVANCE(112);
      END_STATE();
    case 95:
      if (lookahead == 'd') ADVANCE(113);
      END_STATE();
    case 96:
      if (lookahead == '_') ADVANCE(114);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(anon_sym_alias);
      END_STATE();
    case 98:
      ACCEPT_TOKEN(anon_sym_begin);
      END_STATE();
    case 99:
      ACCEPT_TOKEN(anon_sym_break);
      END_STATE();
    case 100:
      ACCEPT_TOKEN(anon_sym_class);
      END_STATE();
    case 101:
      if (lookahead == 'e') ADVANCE(115);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(anon_sym_elsif);
      END_STATE();
    case 103:
      if (lookahead == 'e') ADVANCE(116);
      END_STATE();
    case 104:
      if (lookahead == 'e') ADVANCE(117);
      END_STATE();
    case 105:
      if (lookahead == 'e') ADVANCE(118);
      END_STATE();
    case 106:
      ACCEPT_TOKEN(anon_sym_retry);
      END_STATE();
    case 107:
      if (lookahead == 'n') ADVANCE(119);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(sym_super);
      END_STATE();
    case 109:
      ACCEPT_TOKEN(anon_sym_undef);
      END_STATE();
    case 110:
      if (lookahead == 's') ADVANCE(120);
      END_STATE();
    case 111:
      ACCEPT_TOKEN(anon_sym_until);
      END_STATE();
    case 112:
      ACCEPT_TOKEN(anon_sym_while);
      END_STATE();
    case 113:
      ACCEPT_TOKEN(anon_sym_yield);
      END_STATE();
    case 114:
      if (lookahead == '_') ADVANCE(121);
      END_STATE();
    case 115:
      if (lookahead == 'd') ADVANCE(122);
      END_STATE();
    case 116:
      ACCEPT_TOKEN(anon_sym_ensure);
      END_STATE();
    case 117:
      ACCEPT_TOKEN(anon_sym_module);
      END_STATE();
    case 118:
      ACCEPT_TOKEN(anon_sym_rescue);
      END_STATE();
    case 119:
      ACCEPT_TOKEN(anon_sym_return);
      END_STATE();
    case 120:
      ACCEPT_TOKEN(anon_sym_unless);
      END_STATE();
    case 121:
      ACCEPT_TOKEN(anon_sym___END__);
      END_STATE();
    case 122:
      if (lookahead == '?') ADVANCE(123);
      END_STATE();
    case 123:
      ACCEPT_TOKEN(anon_sym_defined_QMARK);
      END_STATE();
    default:
      return false;
  }
}

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

enum {
  ts_external_token__line_break = 0,
  ts_external_token__simple_symbol = 1,
  ts_external_token__string_start = 2,
  ts_external_token__symbol_start = 3,
  ts_external_token__subshell_start = 4,
  ts_external_token__regex_start = 5,
  ts_external_token__string_array_start = 6,
  ts_external_token__symbol_array_start = 7,
  ts_external_token__heredoc_body_start = 8,
  ts_external_token__string_content = 9,
  ts_external_token__heredoc_content = 10,
  ts_external_token__string_end = 11,
  ts_external_token_heredoc_end = 12,
  ts_external_token_heredoc_beginning = 13,
  ts_external_token_SLASH = 14,
  ts_external_token__block_ampersand = 15,
  ts_external_token__splat_star = 16,
  ts_external_token__unary_minus = 17,
  ts_external_token__binary_minus = 18,
  ts_external_token__binary_star = 19,
  ts_external_token__singleton_class_left_angle_left_langle = 20,
  ts_external_token__identifier_hash_key = 21,
};

static TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = {
  [ts_external_token__line_break] = sym__line_break,
  [ts_external_token__simple_symbol] = sym__simple_symbol,
  [ts_external_token__string_start] = sym__string_start,
  [ts_external_token__symbol_start] = sym__symbol_start,
  [ts_external_token__subshell_start] = sym__subshell_start,
  [ts_external_token__regex_start] = sym__regex_start,
  [ts_external_token__string_array_start] = sym__string_array_start,
  [ts_external_token__symbol_array_start] = sym__symbol_array_start,
  [ts_external_token__heredoc_body_start] = sym__heredoc_body_start,
  [ts_external_token__string_content] = sym__string_content,
  [ts_external_token__heredoc_content] = sym__heredoc_content,
  [ts_external_token__string_end] = sym__string_end,
  [ts_external_token_heredoc_end] = sym_heredoc_end,
  [ts_external_token_heredoc_beginning] = sym_heredoc_beginning,
  [ts_external_token_SLASH] = anon_sym_SLASH,
  [ts_external_token__block_ampersand] = sym__block_ampersand,
  [ts_external_token__splat_star] = sym__splat_star,
  [ts_external_token__unary_minus] = sym__unary_minus,
  [ts_external_token__binary_minus] = sym__binary_minus,
  [ts_external_token__binary_star] = sym__binary_star,
  [ts_external_token__singleton_class_left_angle_left_langle] = sym__singleton_class_left_angle_left_langle,
  [ts_external_token__identifier_hash_key] = sym__identifier_hash_key,
};

static bool ts_external_scanner_states[38][EXTERNAL_TOKEN_COUNT] = {
  [1] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token__string_content] = true,
    [ts_external_token__heredoc_content] = true,
    [ts_external_token__string_end] = true,
    [ts_external_token_heredoc_end] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [2] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [3] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [4] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [5] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [6] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [7] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
  },
  [8] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [9] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [10] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [11] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [12] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [13] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__block_ampersand] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__identifier_hash_key] = true,
  },
  [14] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__splat_star] = true,
    [ts_external_token__unary_minus] = true,
  },
  [15] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
  },
  [16] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__subshell_start] = true,
    [ts_external_token__regex_start] = true,
    [ts_external_token__string_array_start] = true,
    [ts_external_token__symbol_array_start] = true,
    [ts_external_token_heredoc_beginning] = true,
    [ts_external_token__unary_minus] = true,
    [ts_external_token__singleton_class_left_angle_left_langle] = true,
  },
  [17] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [18] = {
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [19] = {
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [20] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__string_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [21] = {
    [ts_external_token__string_start] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [22] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
  },
  [23] = {
    [ts_external_token__string_start] = true,
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [24] = {
    [ts_external_token__simple_symbol] = true,
    [ts_external_token__symbol_start] = true,
    [ts_external_token_SLASH] = true,
  },
  [25] = {
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token_SLASH] = true,
  },
  [26] = {
    [ts_external_token_SLASH] = true,
  },
  [27] = {
    [ts_external_token__line_break] = true,
    [ts_external_token_SLASH] = true,
    [ts_external_token__binary_minus] = true,
    [ts_external_token__binary_star] = true,
  },
  [28] = {
    [ts_external_token__line_break] = true,
    [ts_external_token__heredoc_body_start] = true,
  },
  [29] = {
    [ts_external_token__heredoc_body_start] = true,
  },
  [30] = {
    [ts_external_token__line_break] = true,
  },
  [31] = {
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token__string_content] = true,
    [ts_external_token__string_end] = true,
  },
  [32] = {
    [ts_external_token__string_start] = true,
    [ts_external_token__heredoc_body_start] = true,
  },
  [33] = {
    [ts_external_token__string_content] = true,
    [ts_external_token__string_end] = true,
  },
  [34] = {
    [ts_external_token__heredoc_content] = true,
    [ts_external_token_heredoc_end] = true,
  },
  [35] = {
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token__string_content] = true,
  },
  [36] = {
    [ts_external_token__heredoc_body_start] = true,
    [ts_external_token__string_end] = true,
  },
  [37] = {
    [ts_external_token__string_end] = true,
  },
};

static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [sym_heredoc_body] = STATE(0),
    [ts_builtin_sym_end] = ACTIONS(1),
    [sym_identifier] = ACTIONS(1),
    [anon_sym___END__] = ACTIONS(1),
    [anon_sym_BEGIN] = ACTIONS(1),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_END] = ACTIONS(1),
    [anon_sym_def] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_STAR] = ACTIONS(1),
    [anon_sym_STAR_STAR] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_EQ] = ACTIONS(1),
    [anon_sym_class] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(1),
    [anon_sym_module] = ACTIONS(1),
    [anon_sym_end] = ACTIONS(1),
    [anon_sym_return] = ACTIONS(1),
    [anon_sym_yield] = ACTIONS(1),
    [anon_sym_break] = ACTIONS(1),
    [anon_sym_next] = ACTIONS(1),
    [anon_sym_redo] = ACTIONS(1),
    [anon_sym_retry] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_unless] = ACTIONS(1),
    [anon_sym_while] = ACTIONS(1),
    [anon_sym_until] = ACTIONS(1),
    [anon_sym_rescue] = ACTIONS(1),
    [anon_sym_for] = ACTIONS(1),
    [anon_sym_in] = ACTIONS(1),
    [anon_sym_do] = ACTIONS(1),
    [anon_sym_case] = ACTIONS(1),
    [anon_sym_when] = ACTIONS(1),
    [anon_sym_elsif] = ACTIONS(1),
    [anon_sym_else] = ACTIONS(1),
    [anon_sym_then] = ACTIONS(1),
    [anon_sym_begin] = ACTIONS(1),
    [anon_sym_ensure] = ACTIONS(1),
    [anon_sym_EQ_GT] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_COLON_COLON2] = ACTIONS(1),
    [anon_sym_AMP_DOT] = ACTIONS(1),
    [anon_sym_LPAREN2] = ACTIONS(1),
    [anon_sym_PLUS_EQ] = ACTIONS(1),
    [anon_sym_STAR_EQ] = ACTIONS(1),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1),
    [anon_sym_SLASH_EQ] = ACTIONS(1),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1),
    [anon_sym_PIPE_EQ] = ACTIONS(1),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1),
    [anon_sym_AMP_EQ] = ACTIONS(1),
    [anon_sym_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_LT_LT_EQ] = ACTIONS(1),
    [anon_sym_CARET_EQ] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(1),
    [anon_sym_COLON2] = ACTIONS(1),
    [anon_sym_DOT_DOT] = ACTIONS(1),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1),
    [anon_sym_and] = ACTIONS(1),
    [anon_sym_or] = ACTIONS(1),
    [anon_sym_PIPE_PIPE] = ACTIONS(1),
    [anon_sym_AMP_AMP] = ACTIONS(1),
    [anon_sym_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT] = ACTIONS(1),
    [anon_sym_LT_EQ] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_PLUS] = ACTIONS(1),
    [anon_sym_SLASH] = ACTIONS(1),
    [anon_sym_PERCENT] = ACTIONS(1),
    [anon_sym_EQ_EQ] = ACTIONS(1),
    [anon_sym_BANG_EQ] = ACTIONS(1),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1),
    [anon_sym_LT_EQ_GT] = ACTIONS(1),
    [anon_sym_EQ_TILDE] = ACTIONS(1),
    [anon_sym_BANG_TILDE] = ACTIONS(1),
    [anon_sym_defined_QMARK] = ACTIONS(1),
    [anon_sym_not] = ACTIONS(1),
    [anon_sym_BANG] = ACTIONS(1),
    [anon_sym_TILDE] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [anon_sym_PLUS_AT] = ACTIONS(1),
    [anon_sym_DASH_AT] = ACTIONS(1),
    [anon_sym_BQUOTE] = ACTIONS(1),
    [anon_sym_undef] = ACTIONS(1),
    [anon_sym_alias] = ACTIONS(1),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(1),
    [sym_float] = ACTIONS(1),
    [anon_sym_r] = ACTIONS(1),
    [sym_super] = ACTIONS(1),
    [sym_self] = ACTIONS(1),
    [sym_true] = ACTIONS(1),
    [sym_false] = ACTIONS(1),
    [sym_nil] = ACTIONS(1),
    [sym_constant] = ACTIONS(1),
    [sym_instance_variable] = ACTIONS(1),
    [sym_class_variable] = ACTIONS(1),
    [sym_global_variable] = ACTIONS(1),
    [sym_character] = ACTIONS(1),
    [anon_sym_POUND_LBRACE] = ACTIONS(1),
    [anon_sym_LBRACK2] = ACTIONS(1),
    [sym__line_break] = ACTIONS(1),
    [sym__simple_symbol] = ACTIONS(1),
    [sym__string_start] = ACTIONS(1),
    [sym__symbol_start] = ACTIONS(1),
    [sym__subshell_start] = ACTIONS(1),
    [sym__regex_start] = ACTIONS(1),
    [sym__string_array_start] = ACTIONS(1),
    [sym__symbol_array_start] = ACTIONS(1),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__string_content] = ACTIONS(1),
    [sym__heredoc_content] = ACTIONS(1),
    [sym__string_end] = ACTIONS(1),
    [sym_heredoc_end] = ACTIONS(1),
    [sym_heredoc_beginning] = ACTIONS(1),
    [sym__block_ampersand] = ACTIONS(1),
    [sym__splat_star] = ACTIONS(1),
    [sym__unary_minus] = ACTIONS(1),
    [sym__binary_minus] = ACTIONS(1),
    [sym__binary_star] = ACTIONS(1),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1),
    [sym__identifier_hash_key] = ACTIONS(1),
  },
  [1] = {
    [sym_program] = STATE(2846),
    [sym__statements] = STATE(2745),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2189),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2183),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(1),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(970),
    [aux_sym__statements_repeat1] = STATE(175),
    [ts_builtin_sym_end] = ACTIONS(7),
    [sym_identifier] = ACTIONS(9),
    [anon_sym___END__] = ACTIONS(11),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_SEMI] = ACTIONS(25),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(67),
    [anon_sym_alias] = ACTIONS(69),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [2] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(2),
    [sym_call] = STATE(2),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2077),
    [sym_argument_list] = STATE(874),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(2),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(2),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(103),
    [anon_sym_LBRACE] = ACTIONS(105),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(111),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(111),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(111),
    [anon_sym_elsif] = ACTIONS(111),
    [anon_sym_else] = ACTIONS(111),
    [anon_sym_then] = ACTIONS(111),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(111),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(103),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [3] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(2),
    [sym_call] = STATE(2),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2079),
    [sym_argument_list] = STATE(873),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(2),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(3),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(103),
    [anon_sym_LBRACE] = ACTIONS(151),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(111),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(153),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(111),
    [anon_sym_elsif] = ACTIONS(111),
    [anon_sym_else] = ACTIONS(111),
    [anon_sym_then] = ACTIONS(111),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(111),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(103),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [4] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(2),
    [sym_call] = STATE(2),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2079),
    [sym_argument_list] = STATE(879),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(932),
    [sym_block] = STATE(923),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(2),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(4),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(103),
    [anon_sym_LBRACE] = ACTIONS(155),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(111),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(157),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(111),
    [anon_sym_elsif] = ACTIONS(111),
    [anon_sym_else] = ACTIONS(111),
    [anon_sym_then] = ACTIONS(111),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(111),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(159),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(103),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [5] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(5),
    [sym_call] = STATE(5),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2077),
    [sym_argument_list] = STATE(874),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(5),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(5),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(107),
    [sym_identifier] = ACTIONS(161),
    [anon_sym___END__] = ACTIONS(111),
    [anon_sym_LBRACE] = ACTIONS(105),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(111),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(161),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [6] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(5),
    [sym_call] = STATE(5),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2079),
    [sym_argument_list] = STATE(873),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(5),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(6),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(107),
    [sym_identifier] = ACTIONS(161),
    [anon_sym___END__] = ACTIONS(111),
    [anon_sym_LBRACE] = ACTIONS(151),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(153),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(161),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [7] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(5),
    [sym_call] = STATE(5),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2079),
    [sym_argument_list] = STATE(879),
    [sym__argument] = STATE(2080),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_do_block] = STATE(932),
    [sym_block] = STATE(923),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(5),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(7),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(107),
    [sym_identifier] = ACTIONS(161),
    [anon_sym___END__] = ACTIONS(111),
    [anon_sym_LBRACE] = ACTIONS(155),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_do] = ACTIONS(157),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(159),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(131),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(161),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(107),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [8] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1626),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(9),
    [sym_call] = STATE(9),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(987),
    [sym_command_argument_list] = STATE(2187),
    [sym_argument_list] = STATE(958),
    [sym__argument] = STATE(2173),
    [sym_splat_argument] = STATE(2173),
    [sym_hash_splat_argument] = STATE(2173),
    [sym_block_argument] = STATE(2173),
    [sym_do_block] = STATE(1001),
    [sym_block] = STATE(1003),
    [sym_assignment] = STATE(1626),
    [sym_operator_assignment] = STATE(1626),
    [sym_conditional] = STATE(1626),
    [sym_range] = STATE(1626),
    [sym_binary] = STATE(1626),
    [sym_unary] = STATE(1626),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(9),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(8),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2173),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(169),
    [anon_sym_LBRACE] = ACTIONS(171),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_do] = ACTIONS(197),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(203),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(209),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(219),
    [sym_self] = ACTIONS(219),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(169),
    [sym_instance_variable] = ACTIONS(223),
    [sym_class_variable] = ACTIONS(223),
    [sym_global_variable] = ACTIONS(223),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(243),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(247),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(249),
  },
  [9] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1626),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(9),
    [sym_call] = STATE(9),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(987),
    [sym_command_argument_list] = STATE(2186),
    [sym_argument_list] = STATE(962),
    [sym__argument] = STATE(2173),
    [sym_splat_argument] = STATE(2173),
    [sym_hash_splat_argument] = STATE(2173),
    [sym_block_argument] = STATE(2173),
    [sym_do_block] = STATE(1001),
    [sym_block] = STATE(1003),
    [sym_assignment] = STATE(1626),
    [sym_operator_assignment] = STATE(1626),
    [sym_conditional] = STATE(1626),
    [sym_range] = STATE(1626),
    [sym_binary] = STATE(1626),
    [sym_unary] = STATE(1626),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(9),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(9),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2173),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(169),
    [anon_sym_LBRACE] = ACTIONS(251),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_do] = ACTIONS(111),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(203),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(209),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(219),
    [sym_self] = ACTIONS(219),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(169),
    [sym_instance_variable] = ACTIONS(223),
    [sym_class_variable] = ACTIONS(223),
    [sym_global_variable] = ACTIONS(223),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(243),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(247),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(249),
  },
  [10] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1626),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(9),
    [sym_call] = STATE(9),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(987),
    [sym_command_argument_list] = STATE(2187),
    [sym_argument_list] = STATE(978),
    [sym__argument] = STATE(2173),
    [sym_splat_argument] = STATE(2173),
    [sym_hash_splat_argument] = STATE(2173),
    [sym_block_argument] = STATE(2173),
    [sym_do_block] = STATE(1070),
    [sym_block] = STATE(1039),
    [sym_assignment] = STATE(1626),
    [sym_operator_assignment] = STATE(1626),
    [sym_conditional] = STATE(1626),
    [sym_range] = STATE(1626),
    [sym_binary] = STATE(1626),
    [sym_unary] = STATE(1626),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(9),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(10),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2173),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(169),
    [anon_sym_LBRACE] = ACTIONS(253),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(111),
    [anon_sym_unless] = ACTIONS(111),
    [anon_sym_while] = ACTIONS(111),
    [anon_sym_until] = ACTIONS(111),
    [anon_sym_rescue] = ACTIONS(111),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_do] = ACTIONS(255),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(257),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(111),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(111),
    [anon_sym_or] = ACTIONS(111),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(209),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(219),
    [sym_self] = ACTIONS(219),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(169),
    [sym_instance_variable] = ACTIONS(223),
    [sym_class_variable] = ACTIONS(223),
    [sym_global_variable] = ACTIONS(223),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(243),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(247),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
    [sym__identifier_hash_key] = ACTIONS(249),
  },
  [11] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2099),
    [sym_argument_list] = STATE(1143),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(11),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(259),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(261),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(261),
    [anon_sym_DOT] = ACTIONS(263),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(261),
    [anon_sym_PIPE] = ACTIONS(263),
    [anon_sym_SEMI] = ACTIONS(261),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(261),
    [anon_sym_AMP] = ACTIONS(263),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(263),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(263),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(263),
    [anon_sym_unless] = ACTIONS(263),
    [anon_sym_while] = ACTIONS(263),
    [anon_sym_until] = ACTIONS(263),
    [anon_sym_rescue] = ACTIONS(263),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(263),
    [anon_sym_elsif] = ACTIONS(263),
    [anon_sym_else] = ACTIONS(263),
    [anon_sym_then] = ACTIONS(263),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(263),
    [anon_sym_EQ_GT] = ACTIONS(261),
    [anon_sym_LBRACK] = ACTIONS(261),
    [anon_sym_COLON_COLON2] = ACTIONS(261),
    [anon_sym_AMP_DOT] = ACTIONS(261),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(263),
    [anon_sym_DOT_DOT] = ACTIONS(263),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(261),
    [anon_sym_and] = ACTIONS(263),
    [anon_sym_or] = ACTIONS(263),
    [anon_sym_PIPE_PIPE] = ACTIONS(261),
    [anon_sym_AMP_AMP] = ACTIONS(261),
    [anon_sym_LT_LT] = ACTIONS(261),
    [anon_sym_GT_GT] = ACTIONS(261),
    [anon_sym_LT_EQ] = ACTIONS(263),
    [anon_sym_GT] = ACTIONS(263),
    [anon_sym_GT_EQ] = ACTIONS(261),
    [anon_sym_CARET] = ACTIONS(261),
    [anon_sym_PLUS] = ACTIONS(263),
    [anon_sym_SLASH] = ACTIONS(261),
    [anon_sym_PERCENT] = ACTIONS(261),
    [anon_sym_EQ_EQ] = ACTIONS(263),
    [anon_sym_BANG_EQ] = ACTIONS(261),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(261),
    [anon_sym_LT_EQ_GT] = ACTIONS(261),
    [anon_sym_EQ_TILDE] = ACTIONS(261),
    [anon_sym_BANG_TILDE] = ACTIONS(261),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(259),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(261),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(261),
    [sym__binary_star] = ACTIONS(261),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [12] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2103),
    [sym_argument_list] = STATE(1149),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(12),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(259),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(283),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(283),
    [anon_sym_DOT] = ACTIONS(285),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(283),
    [anon_sym_PIPE] = ACTIONS(285),
    [anon_sym_SEMI] = ACTIONS(283),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(283),
    [anon_sym_AMP] = ACTIONS(285),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(285),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(285),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(285),
    [anon_sym_unless] = ACTIONS(285),
    [anon_sym_while] = ACTIONS(285),
    [anon_sym_until] = ACTIONS(285),
    [anon_sym_rescue] = ACTIONS(285),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(285),
    [anon_sym_elsif] = ACTIONS(285),
    [anon_sym_else] = ACTIONS(285),
    [anon_sym_then] = ACTIONS(285),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(285),
    [anon_sym_EQ_GT] = ACTIONS(283),
    [anon_sym_LBRACK] = ACTIONS(283),
    [anon_sym_COLON_COLON2] = ACTIONS(283),
    [anon_sym_AMP_DOT] = ACTIONS(283),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(285),
    [anon_sym_DOT_DOT] = ACTIONS(285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(283),
    [anon_sym_and] = ACTIONS(285),
    [anon_sym_or] = ACTIONS(285),
    [anon_sym_PIPE_PIPE] = ACTIONS(283),
    [anon_sym_AMP_AMP] = ACTIONS(283),
    [anon_sym_LT_LT] = ACTIONS(283),
    [anon_sym_GT_GT] = ACTIONS(283),
    [anon_sym_LT_EQ] = ACTIONS(285),
    [anon_sym_GT] = ACTIONS(285),
    [anon_sym_GT_EQ] = ACTIONS(283),
    [anon_sym_CARET] = ACTIONS(283),
    [anon_sym_PLUS] = ACTIONS(285),
    [anon_sym_SLASH] = ACTIONS(283),
    [anon_sym_PERCENT] = ACTIONS(283),
    [anon_sym_EQ_EQ] = ACTIONS(285),
    [anon_sym_BANG_EQ] = ACTIONS(283),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(283),
    [anon_sym_LT_EQ_GT] = ACTIONS(283),
    [anon_sym_EQ_TILDE] = ACTIONS(283),
    [anon_sym_BANG_TILDE] = ACTIONS(283),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(259),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(283),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(283),
    [sym__binary_star] = ACTIONS(283),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [13] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2100),
    [sym_argument_list] = STATE(1072),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(13),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(259),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(287),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(287),
    [anon_sym_DOT] = ACTIONS(289),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(287),
    [anon_sym_PIPE] = ACTIONS(289),
    [anon_sym_SEMI] = ACTIONS(287),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(287),
    [anon_sym_AMP] = ACTIONS(289),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(289),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(289),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(289),
    [anon_sym_unless] = ACTIONS(289),
    [anon_sym_while] = ACTIONS(289),
    [anon_sym_until] = ACTIONS(289),
    [anon_sym_rescue] = ACTIONS(289),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(289),
    [anon_sym_elsif] = ACTIONS(289),
    [anon_sym_else] = ACTIONS(289),
    [anon_sym_then] = ACTIONS(289),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(289),
    [anon_sym_EQ_GT] = ACTIONS(287),
    [anon_sym_LBRACK] = ACTIONS(287),
    [anon_sym_COLON_COLON2] = ACTIONS(287),
    [anon_sym_AMP_DOT] = ACTIONS(287),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(289),
    [anon_sym_DOT_DOT] = ACTIONS(289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(287),
    [anon_sym_and] = ACTIONS(289),
    [anon_sym_or] = ACTIONS(289),
    [anon_sym_PIPE_PIPE] = ACTIONS(287),
    [anon_sym_AMP_AMP] = ACTIONS(287),
    [anon_sym_LT_LT] = ACTIONS(287),
    [anon_sym_GT_GT] = ACTIONS(287),
    [anon_sym_LT_EQ] = ACTIONS(289),
    [anon_sym_GT] = ACTIONS(289),
    [anon_sym_GT_EQ] = ACTIONS(287),
    [anon_sym_CARET] = ACTIONS(287),
    [anon_sym_PLUS] = ACTIONS(289),
    [anon_sym_SLASH] = ACTIONS(287),
    [anon_sym_PERCENT] = ACTIONS(287),
    [anon_sym_EQ_EQ] = ACTIONS(289),
    [anon_sym_BANG_EQ] = ACTIONS(287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(287),
    [anon_sym_LT_EQ_GT] = ACTIONS(287),
    [anon_sym_EQ_TILDE] = ACTIONS(287),
    [anon_sym_BANG_TILDE] = ACTIONS(287),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(259),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(287),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(287),
    [sym__binary_star] = ACTIONS(287),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [14] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2101),
    [sym_argument_list] = STATE(1129),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(14),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(259),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(291),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_RPAREN] = ACTIONS(291),
    [anon_sym_DOT] = ACTIONS(293),
    [anon_sym_COLON_COLON] = ACTIONS(113),
    [anon_sym_COMMA] = ACTIONS(291),
    [anon_sym_PIPE] = ACTIONS(293),
    [anon_sym_SEMI] = ACTIONS(291),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(291),
    [anon_sym_AMP] = ACTIONS(293),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(293),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(293),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(293),
    [anon_sym_unless] = ACTIONS(293),
    [anon_sym_while] = ACTIONS(293),
    [anon_sym_until] = ACTIONS(293),
    [anon_sym_rescue] = ACTIONS(293),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(293),
    [anon_sym_elsif] = ACTIONS(293),
    [anon_sym_else] = ACTIONS(293),
    [anon_sym_then] = ACTIONS(293),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(293),
    [anon_sym_EQ_GT] = ACTIONS(291),
    [anon_sym_LBRACK] = ACTIONS(291),
    [anon_sym_COLON_COLON2] = ACTIONS(291),
    [anon_sym_AMP_DOT] = ACTIONS(291),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(293),
    [anon_sym_DOT_DOT] = ACTIONS(293),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(291),
    [anon_sym_and] = ACTIONS(293),
    [anon_sym_or] = ACTIONS(293),
    [anon_sym_PIPE_PIPE] = ACTIONS(291),
    [anon_sym_AMP_AMP] = ACTIONS(291),
    [anon_sym_LT_LT] = ACTIONS(291),
    [anon_sym_GT_GT] = ACTIONS(291),
    [anon_sym_LT_EQ] = ACTIONS(293),
    [anon_sym_GT] = ACTIONS(293),
    [anon_sym_GT_EQ] = ACTIONS(291),
    [anon_sym_CARET] = ACTIONS(291),
    [anon_sym_PLUS] = ACTIONS(293),
    [anon_sym_SLASH] = ACTIONS(291),
    [anon_sym_PERCENT] = ACTIONS(291),
    [anon_sym_EQ_EQ] = ACTIONS(293),
    [anon_sym_BANG_EQ] = ACTIONS(291),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(291),
    [anon_sym_LT_EQ_GT] = ACTIONS(291),
    [anon_sym_EQ_TILDE] = ACTIONS(291),
    [anon_sym_BANG_TILDE] = ACTIONS(291),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(259),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(291),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(291),
    [sym__binary_star] = ACTIONS(291),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [15] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(6),
    [sym_call] = STATE(6),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2101),
    [sym_argument_list] = STATE(1129),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(6),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(15),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(291),
    [sym_identifier] = ACTIONS(295),
    [anon_sym___END__] = ACTIONS(293),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(293),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(291),
    [anon_sym_PIPE] = ACTIONS(293),
    [anon_sym_SEMI] = ACTIONS(291),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(291),
    [anon_sym_AMP] = ACTIONS(293),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(293),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(293),
    [anon_sym_unless] = ACTIONS(293),
    [anon_sym_while] = ACTIONS(293),
    [anon_sym_until] = ACTIONS(293),
    [anon_sym_rescue] = ACTIONS(293),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_LBRACK] = ACTIONS(291),
    [anon_sym_COLON_COLON2] = ACTIONS(291),
    [anon_sym_AMP_DOT] = ACTIONS(291),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(293),
    [anon_sym_DOT_DOT] = ACTIONS(293),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(291),
    [anon_sym_and] = ACTIONS(293),
    [anon_sym_or] = ACTIONS(293),
    [anon_sym_PIPE_PIPE] = ACTIONS(291),
    [anon_sym_AMP_AMP] = ACTIONS(291),
    [anon_sym_LT_LT] = ACTIONS(291),
    [anon_sym_GT_GT] = ACTIONS(291),
    [anon_sym_LT_EQ] = ACTIONS(293),
    [anon_sym_GT] = ACTIONS(293),
    [anon_sym_GT_EQ] = ACTIONS(291),
    [anon_sym_CARET] = ACTIONS(291),
    [anon_sym_PLUS] = ACTIONS(293),
    [anon_sym_SLASH] = ACTIONS(291),
    [anon_sym_PERCENT] = ACTIONS(291),
    [anon_sym_EQ_EQ] = ACTIONS(293),
    [anon_sym_BANG_EQ] = ACTIONS(291),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(291),
    [anon_sym_LT_EQ_GT] = ACTIONS(291),
    [anon_sym_EQ_TILDE] = ACTIONS(291),
    [anon_sym_BANG_TILDE] = ACTIONS(291),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(295),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(291),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(291),
    [sym__binary_star] = ACTIONS(291),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [16] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(6),
    [sym_call] = STATE(6),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2100),
    [sym_argument_list] = STATE(1072),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(6),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(16),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(287),
    [sym_identifier] = ACTIONS(295),
    [anon_sym___END__] = ACTIONS(289),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(289),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(287),
    [anon_sym_PIPE] = ACTIONS(289),
    [anon_sym_SEMI] = ACTIONS(287),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(287),
    [anon_sym_AMP] = ACTIONS(289),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(289),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(289),
    [anon_sym_unless] = ACTIONS(289),
    [anon_sym_while] = ACTIONS(289),
    [anon_sym_until] = ACTIONS(289),
    [anon_sym_rescue] = ACTIONS(289),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_LBRACK] = ACTIONS(287),
    [anon_sym_COLON_COLON2] = ACTIONS(287),
    [anon_sym_AMP_DOT] = ACTIONS(287),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(289),
    [anon_sym_DOT_DOT] = ACTIONS(289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(287),
    [anon_sym_and] = ACTIONS(289),
    [anon_sym_or] = ACTIONS(289),
    [anon_sym_PIPE_PIPE] = ACTIONS(287),
    [anon_sym_AMP_AMP] = ACTIONS(287),
    [anon_sym_LT_LT] = ACTIONS(287),
    [anon_sym_GT_GT] = ACTIONS(287),
    [anon_sym_LT_EQ] = ACTIONS(289),
    [anon_sym_GT] = ACTIONS(289),
    [anon_sym_GT_EQ] = ACTIONS(287),
    [anon_sym_CARET] = ACTIONS(287),
    [anon_sym_PLUS] = ACTIONS(289),
    [anon_sym_SLASH] = ACTIONS(287),
    [anon_sym_PERCENT] = ACTIONS(287),
    [anon_sym_EQ_EQ] = ACTIONS(289),
    [anon_sym_BANG_EQ] = ACTIONS(287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(287),
    [anon_sym_LT_EQ_GT] = ACTIONS(287),
    [anon_sym_EQ_TILDE] = ACTIONS(287),
    [anon_sym_BANG_TILDE] = ACTIONS(287),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(295),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(287),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(287),
    [sym__binary_star] = ACTIONS(287),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [17] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(6),
    [sym_call] = STATE(6),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2099),
    [sym_argument_list] = STATE(1143),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(6),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(17),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(261),
    [sym_identifier] = ACTIONS(295),
    [anon_sym___END__] = ACTIONS(263),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(263),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(261),
    [anon_sym_PIPE] = ACTIONS(263),
    [anon_sym_SEMI] = ACTIONS(261),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(261),
    [anon_sym_AMP] = ACTIONS(263),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(263),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(263),
    [anon_sym_unless] = ACTIONS(263),
    [anon_sym_while] = ACTIONS(263),
    [anon_sym_until] = ACTIONS(263),
    [anon_sym_rescue] = ACTIONS(263),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_LBRACK] = ACTIONS(261),
    [anon_sym_COLON_COLON2] = ACTIONS(261),
    [anon_sym_AMP_DOT] = ACTIONS(261),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(263),
    [anon_sym_DOT_DOT] = ACTIONS(263),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(261),
    [anon_sym_and] = ACTIONS(263),
    [anon_sym_or] = ACTIONS(263),
    [anon_sym_PIPE_PIPE] = ACTIONS(261),
    [anon_sym_AMP_AMP] = ACTIONS(261),
    [anon_sym_LT_LT] = ACTIONS(261),
    [anon_sym_GT_GT] = ACTIONS(261),
    [anon_sym_LT_EQ] = ACTIONS(263),
    [anon_sym_GT] = ACTIONS(263),
    [anon_sym_GT_EQ] = ACTIONS(261),
    [anon_sym_CARET] = ACTIONS(261),
    [anon_sym_PLUS] = ACTIONS(263),
    [anon_sym_SLASH] = ACTIONS(261),
    [anon_sym_PERCENT] = ACTIONS(261),
    [anon_sym_EQ_EQ] = ACTIONS(263),
    [anon_sym_BANG_EQ] = ACTIONS(261),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(261),
    [anon_sym_LT_EQ_GT] = ACTIONS(261),
    [anon_sym_EQ_TILDE] = ACTIONS(261),
    [anon_sym_BANG_TILDE] = ACTIONS(261),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(295),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(261),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(261),
    [sym__binary_star] = ACTIONS(261),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [18] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1327),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(6),
    [sym_call] = STATE(6),
    [sym_command_call] = STATE(2092),
    [sym_method_call] = STATE(907),
    [sym_command_argument_list] = STATE(2103),
    [sym_argument_list] = STATE(1149),
    [sym__argument] = STATE(2086),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(6),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(18),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [ts_builtin_sym_end] = ACTIONS(283),
    [sym_identifier] = ACTIONS(295),
    [anon_sym___END__] = ACTIONS(285),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(109),
    [anon_sym_DOT] = ACTIONS(285),
    [anon_sym_COLON_COLON] = ACTIONS(163),
    [anon_sym_COMMA] = ACTIONS(283),
    [anon_sym_PIPE] = ACTIONS(285),
    [anon_sym_SEMI] = ACTIONS(283),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(283),
    [anon_sym_AMP] = ACTIONS(285),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_LT] = ACTIONS(285),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(285),
    [anon_sym_unless] = ACTIONS(285),
    [anon_sym_while] = ACTIONS(285),
    [anon_sym_until] = ACTIONS(285),
    [anon_sym_rescue] = ACTIONS(285),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_LBRACK] = ACTIONS(283),
    [anon_sym_COLON_COLON2] = ACTIONS(283),
    [anon_sym_AMP_DOT] = ACTIONS(283),
    [anon_sym_LPAREN2] = ACTIONS(265),
    [anon_sym_QMARK] = ACTIONS(285),
    [anon_sym_DOT_DOT] = ACTIONS(285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(283),
    [anon_sym_and] = ACTIONS(285),
    [anon_sym_or] = ACTIONS(285),
    [anon_sym_PIPE_PIPE] = ACTIONS(283),
    [anon_sym_AMP_AMP] = ACTIONS(283),
    [anon_sym_LT_LT] = ACTIONS(283),
    [anon_sym_GT_GT] = ACTIONS(283),
    [anon_sym_LT_EQ] = ACTIONS(285),
    [anon_sym_GT] = ACTIONS(285),
    [anon_sym_GT_EQ] = ACTIONS(283),
    [anon_sym_CARET] = ACTIONS(283),
    [anon_sym_PLUS] = ACTIONS(285),
    [anon_sym_SLASH] = ACTIONS(283),
    [anon_sym_PERCENT] = ACTIONS(283),
    [anon_sym_EQ_EQ] = ACTIONS(285),
    [anon_sym_BANG_EQ] = ACTIONS(283),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(283),
    [anon_sym_LT_EQ_GT] = ACTIONS(283),
    [anon_sym_EQ_TILDE] = ACTIONS(283),
    [anon_sym_BANG_TILDE] = ACTIONS(283),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(271),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(165),
    [sym_self] = ACTIONS(165),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(295),
    [sym_instance_variable] = ACTIONS(167),
    [sym_class_variable] = ACTIONS(167),
    [sym_global_variable] = ACTIONS(167),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(141),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(283),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__binary_minus] = ACTIONS(283),
    [sym__binary_star] = ACTIONS(283),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [19] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1693),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(8),
    [sym_call] = STATE(8),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(1041),
    [sym_command_argument_list] = STATE(2338),
    [sym_argument_list] = STATE(1523),
    [sym__argument] = STATE(2216),
    [sym_splat_argument] = STATE(2216),
    [sym_hash_splat_argument] = STATE(2216),
    [sym_block_argument] = STATE(2216),
    [sym_assignment] = STATE(1693),
    [sym_operator_assignment] = STATE(1693),
    [sym_conditional] = STATE(1693),
    [sym_range] = STATE(1693),
    [sym_binary] = STATE(1693),
    [sym_unary] = STATE(1693),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(8),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1351),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(19),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2216),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(297),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_RBRACE] = ACTIONS(283),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(285),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(283),
    [anon_sym_PIPE] = ACTIONS(285),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(283),
    [anon_sym_AMP] = ACTIONS(285),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(285),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(285),
    [anon_sym_unless] = ACTIONS(285),
    [anon_sym_while] = ACTIONS(285),
    [anon_sym_until] = ACTIONS(285),
    [anon_sym_rescue] = ACTIONS(285),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_LBRACK] = ACTIONS(283),
    [anon_sym_COLON_COLON2] = ACTIONS(283),
    [anon_sym_AMP_DOT] = ACTIONS(283),
    [anon_sym_LPAREN2] = ACTIONS(301),
    [anon_sym_QMARK] = ACTIONS(285),
    [anon_sym_DOT_DOT] = ACTIONS(285),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(283),
    [anon_sym_and] = ACTIONS(285),
    [anon_sym_or] = ACTIONS(285),
    [anon_sym_PIPE_PIPE] = ACTIONS(283),
    [anon_sym_AMP_AMP] = ACTIONS(283),
    [anon_sym_LT_LT] = ACTIONS(283),
    [anon_sym_GT_GT] = ACTIONS(283),
    [anon_sym_LT_EQ] = ACTIONS(285),
    [anon_sym_GT] = ACTIONS(285),
    [anon_sym_GT_EQ] = ACTIONS(283),
    [anon_sym_CARET] = ACTIONS(283),
    [anon_sym_PLUS] = ACTIONS(285),
    [anon_sym_SLASH] = ACTIONS(283),
    [anon_sym_PERCENT] = ACTIONS(283),
    [anon_sym_EQ_EQ] = ACTIONS(285),
    [anon_sym_BANG_EQ] = ACTIONS(283),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(283),
    [anon_sym_LT_EQ_GT] = ACTIONS(283),
    [anon_sym_EQ_TILDE] = ACTIONS(283),
    [anon_sym_BANG_TILDE] = ACTIONS(283),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(307),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(311),
    [sym_self] = ACTIONS(311),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(297),
    [sym_instance_variable] = ACTIONS(315),
    [sym_class_variable] = ACTIONS(315),
    [sym_global_variable] = ACTIONS(315),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(317),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(321),
    [sym__binary_minus] = ACTIONS(283),
    [sym__binary_star] = ACTIONS(283),
    [sym__identifier_hash_key] = ACTIONS(323),
  },
  [20] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1693),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(8),
    [sym_call] = STATE(8),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(1041),
    [sym_command_argument_list] = STATE(2337),
    [sym_argument_list] = STATE(1525),
    [sym__argument] = STATE(2216),
    [sym_splat_argument] = STATE(2216),
    [sym_hash_splat_argument] = STATE(2216),
    [sym_block_argument] = STATE(2216),
    [sym_assignment] = STATE(1693),
    [sym_operator_assignment] = STATE(1693),
    [sym_conditional] = STATE(1693),
    [sym_range] = STATE(1693),
    [sym_binary] = STATE(1693),
    [sym_unary] = STATE(1693),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(8),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1351),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(20),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2216),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(297),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_RBRACE] = ACTIONS(261),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(263),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(261),
    [anon_sym_PIPE] = ACTIONS(263),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(261),
    [anon_sym_AMP] = ACTIONS(263),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(263),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(263),
    [anon_sym_unless] = ACTIONS(263),
    [anon_sym_while] = ACTIONS(263),
    [anon_sym_until] = ACTIONS(263),
    [anon_sym_rescue] = ACTIONS(263),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_LBRACK] = ACTIONS(261),
    [anon_sym_COLON_COLON2] = ACTIONS(261),
    [anon_sym_AMP_DOT] = ACTIONS(261),
    [anon_sym_LPAREN2] = ACTIONS(301),
    [anon_sym_QMARK] = ACTIONS(263),
    [anon_sym_DOT_DOT] = ACTIONS(263),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(261),
    [anon_sym_and] = ACTIONS(263),
    [anon_sym_or] = ACTIONS(263),
    [anon_sym_PIPE_PIPE] = ACTIONS(261),
    [anon_sym_AMP_AMP] = ACTIONS(261),
    [anon_sym_LT_LT] = ACTIONS(261),
    [anon_sym_GT_GT] = ACTIONS(261),
    [anon_sym_LT_EQ] = ACTIONS(263),
    [anon_sym_GT] = ACTIONS(263),
    [anon_sym_GT_EQ] = ACTIONS(261),
    [anon_sym_CARET] = ACTIONS(261),
    [anon_sym_PLUS] = ACTIONS(263),
    [anon_sym_SLASH] = ACTIONS(261),
    [anon_sym_PERCENT] = ACTIONS(261),
    [anon_sym_EQ_EQ] = ACTIONS(263),
    [anon_sym_BANG_EQ] = ACTIONS(261),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(261),
    [anon_sym_LT_EQ_GT] = ACTIONS(261),
    [anon_sym_EQ_TILDE] = ACTIONS(261),
    [anon_sym_BANG_TILDE] = ACTIONS(261),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(307),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(311),
    [sym_self] = ACTIONS(311),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(297),
    [sym_instance_variable] = ACTIONS(315),
    [sym_class_variable] = ACTIONS(315),
    [sym_global_variable] = ACTIONS(315),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(317),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(321),
    [sym__binary_minus] = ACTIONS(261),
    [sym__binary_star] = ACTIONS(261),
    [sym__identifier_hash_key] = ACTIONS(323),
  },
  [21] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1693),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(8),
    [sym_call] = STATE(8),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(1041),
    [sym_command_argument_list] = STATE(2347),
    [sym_argument_list] = STATE(1526),
    [sym__argument] = STATE(2216),
    [sym_splat_argument] = STATE(2216),
    [sym_hash_splat_argument] = STATE(2216),
    [sym_block_argument] = STATE(2216),
    [sym_assignment] = STATE(1693),
    [sym_operator_assignment] = STATE(1693),
    [sym_conditional] = STATE(1693),
    [sym_range] = STATE(1693),
    [sym_binary] = STATE(1693),
    [sym_unary] = STATE(1693),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(8),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1351),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(21),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2216),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(297),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_RBRACE] = ACTIONS(287),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(289),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(287),
    [anon_sym_PIPE] = ACTIONS(289),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(287),
    [anon_sym_AMP] = ACTIONS(289),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(289),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(289),
    [anon_sym_unless] = ACTIONS(289),
    [anon_sym_while] = ACTIONS(289),
    [anon_sym_until] = ACTIONS(289),
    [anon_sym_rescue] = ACTIONS(289),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_LBRACK] = ACTIONS(287),
    [anon_sym_COLON_COLON2] = ACTIONS(287),
    [anon_sym_AMP_DOT] = ACTIONS(287),
    [anon_sym_LPAREN2] = ACTIONS(301),
    [anon_sym_QMARK] = ACTIONS(289),
    [anon_sym_DOT_DOT] = ACTIONS(289),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(287),
    [anon_sym_and] = ACTIONS(289),
    [anon_sym_or] = ACTIONS(289),
    [anon_sym_PIPE_PIPE] = ACTIONS(287),
    [anon_sym_AMP_AMP] = ACTIONS(287),
    [anon_sym_LT_LT] = ACTIONS(287),
    [anon_sym_GT_GT] = ACTIONS(287),
    [anon_sym_LT_EQ] = ACTIONS(289),
    [anon_sym_GT] = ACTIONS(289),
    [anon_sym_GT_EQ] = ACTIONS(287),
    [anon_sym_CARET] = ACTIONS(287),
    [anon_sym_PLUS] = ACTIONS(289),
    [anon_sym_SLASH] = ACTIONS(287),
    [anon_sym_PERCENT] = ACTIONS(287),
    [anon_sym_EQ_EQ] = ACTIONS(289),
    [anon_sym_BANG_EQ] = ACTIONS(287),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(287),
    [anon_sym_LT_EQ_GT] = ACTIONS(287),
    [anon_sym_EQ_TILDE] = ACTIONS(287),
    [anon_sym_BANG_TILDE] = ACTIONS(287),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(307),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(311),
    [sym_self] = ACTIONS(311),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(297),
    [sym_instance_variable] = ACTIONS(315),
    [sym_class_variable] = ACTIONS(315),
    [sym_global_variable] = ACTIONS(315),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(317),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(321),
    [sym__binary_minus] = ACTIONS(287),
    [sym__binary_star] = ACTIONS(287),
    [sym__identifier_hash_key] = ACTIONS(323),
  },
  [22] = {
    [sym_method] = STATE(1413),
    [sym_singleton_method] = STATE(1413),
    [sym_class] = STATE(1413),
    [sym_singleton_class] = STATE(1413),
    [sym_module] = STATE(1413),
    [sym_return] = STATE(1413),
    [sym_yield] = STATE(1413),
    [sym_break] = STATE(1413),
    [sym_next] = STATE(1413),
    [sym_redo] = STATE(1413),
    [sym_retry] = STATE(1413),
    [sym_while] = STATE(1413),
    [sym_until] = STATE(1413),
    [sym_for] = STATE(1413),
    [sym_case] = STATE(1413),
    [sym_if] = STATE(1413),
    [sym_unless] = STATE(1413),
    [sym_begin] = STATE(1413),
    [sym__arg] = STATE(1693),
    [sym__primary] = STATE(1413),
    [sym_parenthesized_statements] = STATE(1413),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(8),
    [sym_call] = STATE(8),
    [sym_command_call] = STATE(2214),
    [sym_method_call] = STATE(1041),
    [sym_command_argument_list] = STATE(2331),
    [sym_argument_list] = STATE(1527),
    [sym__argument] = STATE(2216),
    [sym_splat_argument] = STATE(2216),
    [sym_hash_splat_argument] = STATE(2216),
    [sym_block_argument] = STATE(2216),
    [sym_assignment] = STATE(1693),
    [sym_operator_assignment] = STATE(1693),
    [sym_conditional] = STATE(1693),
    [sym_range] = STATE(1693),
    [sym_binary] = STATE(1693),
    [sym_unary] = STATE(1693),
    [sym_parenthesized_unary] = STATE(1413),
    [sym_unary_literal] = STATE(1413),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(8),
    [sym_rational] = STATE(1413),
    [sym_chained_string] = STATE(1413),
    [sym_string] = STATE(1351),
    [sym_subshell] = STATE(1413),
    [sym_string_array] = STATE(1413),
    [sym_symbol_array] = STATE(1413),
    [sym_symbol] = STATE(1413),
    [sym_regex] = STATE(1413),
    [sym_heredoc_body] = STATE(22),
    [sym_array] = STATE(1413),
    [sym_hash] = STATE(1413),
    [sym_pair] = STATE(2216),
    [sym_lambda] = STATE(1413),
    [sym_identifier] = ACTIONS(297),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_RBRACE] = ACTIONS(291),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(175),
    [anon_sym_DOT] = ACTIONS(293),
    [anon_sym_COLON_COLON] = ACTIONS(177),
    [anon_sym_COMMA] = ACTIONS(291),
    [anon_sym_PIPE] = ACTIONS(293),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(291),
    [anon_sym_AMP] = ACTIONS(293),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_LT] = ACTIONS(293),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(293),
    [anon_sym_unless] = ACTIONS(293),
    [anon_sym_while] = ACTIONS(293),
    [anon_sym_until] = ACTIONS(293),
    [anon_sym_rescue] = ACTIONS(293),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_LBRACK] = ACTIONS(291),
    [anon_sym_COLON_COLON2] = ACTIONS(291),
    [anon_sym_AMP_DOT] = ACTIONS(291),
    [anon_sym_LPAREN2] = ACTIONS(301),
    [anon_sym_QMARK] = ACTIONS(293),
    [anon_sym_DOT_DOT] = ACTIONS(293),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(291),
    [anon_sym_and] = ACTIONS(293),
    [anon_sym_or] = ACTIONS(293),
    [anon_sym_PIPE_PIPE] = ACTIONS(291),
    [anon_sym_AMP_AMP] = ACTIONS(291),
    [anon_sym_LT_LT] = ACTIONS(291),
    [anon_sym_GT_GT] = ACTIONS(291),
    [anon_sym_LT_EQ] = ACTIONS(293),
    [anon_sym_GT] = ACTIONS(293),
    [anon_sym_GT_EQ] = ACTIONS(291),
    [anon_sym_CARET] = ACTIONS(291),
    [anon_sym_PLUS] = ACTIONS(293),
    [anon_sym_SLASH] = ACTIONS(291),
    [anon_sym_PERCENT] = ACTIONS(291),
    [anon_sym_EQ_EQ] = ACTIONS(293),
    [anon_sym_BANG_EQ] = ACTIONS(291),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(291),
    [anon_sym_LT_EQ_GT] = ACTIONS(291),
    [anon_sym_EQ_TILDE] = ACTIONS(291),
    [anon_sym_BANG_TILDE] = ACTIONS(291),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(307),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(215),
    [sym_complex] = ACTIONS(217),
    [sym_super] = ACTIONS(311),
    [sym_self] = ACTIONS(311),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(297),
    [sym_instance_variable] = ACTIONS(315),
    [sym_class_variable] = ACTIONS(315),
    [sym_global_variable] = ACTIONS(315),
    [sym_character] = ACTIONS(217),
    [anon_sym_LBRACK2] = ACTIONS(225),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(217),
    [sym__block_ampersand] = ACTIONS(317),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(321),
    [sym__binary_minus] = ACTIONS(291),
    [sym__binary_star] = ACTIONS(291),
    [sym__identifier_hash_key] = ACTIONS(323),
  },
  [23] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(52),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(890),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(23),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(35),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [24] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(45),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1080),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(24),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(49),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [25] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(51),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2073),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(25),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(54),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [26] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(64),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1059),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(26),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(63),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [27] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(55),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1536),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(27),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(56),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [28] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(42),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(915),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(28),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(43),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [29] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(47),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1190),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(29),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(46),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [30] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(53),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2271),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(30),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(39),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [31] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(76),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1006),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(31),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(66),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(371),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [32] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(65),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2218),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(32),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(67),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(373),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [33] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(71),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1045),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(33),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(77),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(375),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [34] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(78),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1396),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(34),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(69),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(377),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [35] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(48),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(896),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(35),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [36] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(921),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(36),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(107),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [37] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2662),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(37),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(89),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [38] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1544),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(38),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(98),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [39] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(41),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2253),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(39),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [40] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1141),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(40),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(101),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [41] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2257),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(41),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(94),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [42] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(917),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(42),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(95),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [43] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(36),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(917),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(43),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [44] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1186),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(44),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(86),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [45] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1164),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(45),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(92),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [46] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(44),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1198),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(46),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [47] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1198),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(47),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(90),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [48] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(889),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(48),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(93),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [49] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(50),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1164),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(49),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [50] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1076),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(50),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(113),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [51] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2071),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(51),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(105),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [52] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(896),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(52),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(96),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [53] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2253),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(53),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(104),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [54] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(59),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2071),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(54),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [55] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1403),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(55),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(82),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [56] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(60),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1403),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(56),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [57] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1452),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(57),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(109),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [58] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1103),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(58),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(91),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [59] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2068),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(59),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(114),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [60] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1547),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(60),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(84),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [61] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2642),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(61),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(115),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [62] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1061),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(62),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(112),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [63] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(62),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1063),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(63),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [64] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1063),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(64),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(108),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [65] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2210),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(65),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(127),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(381),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [66] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(74),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1015),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(66),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(383),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [67] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(75),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2210),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(67),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(381),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [68] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1048),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(68),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(121),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(385),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [69] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(73),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1478),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(69),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(387),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [70] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1519),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(70),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(123),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(389),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [71] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1055),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(71),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(124),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(391),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [72] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1433),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(72),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(126),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(393),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [73] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1489),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(73),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(119),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(395),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [74] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1022),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(74),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(116),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(397),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [75] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2212),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(75),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(125),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(399),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [76] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1015),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(76),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(117),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(383),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [77] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(68),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1055),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(77),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(329),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(391),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [78] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1478),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(78),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(129),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(387),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [79] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1450),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(79),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [80] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2654),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(80),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [81] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1421),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(81),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [82] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1547),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(82),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [83] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1422),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(83),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [84] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1540),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(84),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [85] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1451),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(85),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [86] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1202),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(86),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [87] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2561),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(87),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [88] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2563),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(88),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [89] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2564),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(89),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [90] = {
    [sym__statements] = STATE(2298),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1186),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(90),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2297),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(367),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [91] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1084),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(91),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [92] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1076),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(92),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [93] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(891),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(93),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [94] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2258),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(94),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [95] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(921),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(95),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [96] = {
    [sym__statements] = STATE(2256),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(889),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(96),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2254),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(333),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [97] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2575),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(97),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [98] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1485),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(98),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [99] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2660),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(99),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [100] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1093),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(100),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [101] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1153),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(101),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [102] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1113),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(102),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [103] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1449),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(103),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [104] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2257),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(104),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [105] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2068),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(105),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [106] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1091),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(106),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [107] = {
    [sym__statements] = STATE(2236),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(916),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(107),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2259),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(365),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [108] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1061),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(108),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [109] = {
    [sym__statements] = STATE(2293),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1418),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(109),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2228),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(363),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [110] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1124),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(110),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [111] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1122),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(111),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [112] = {
    [sym__statements] = STATE(2266),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1060),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(112),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2249),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(361),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [113] = {
    [sym__statements] = STATE(2287),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1092),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(113),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2268),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(357),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [114] = {
    [sym__statements] = STATE(2242),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2069),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(114),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2233),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(359),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [115] = {
    [sym__statements] = STATE(2247),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2565),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(115),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2248),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(369),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [116] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1023),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(116),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(401),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [117] = {
    [sym__statements] = STATE(2339),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1022),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(117),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2340),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(397),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [118] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1432),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(118),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(403),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [119] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1490),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(119),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(405),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [120] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1386),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(120),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(407),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [121] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1047),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(121),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(409),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [122] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1385),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(122),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(411),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [123] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1476),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(123),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(413),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [124] = {
    [sym__statements] = STATE(2364),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1048),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(124),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2363),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(385),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [125] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2213),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(125),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(415),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [126] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1384),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(126),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(417),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [127] = {
    [sym__statements] = STATE(2304),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(2212),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(127),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2306),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(399),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [128] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1429),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(128),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(419),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [129] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1489),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(129),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(395),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [130] = {
    [sym__statements] = STATE(2351),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_else] = STATE(2651),
    [sym_begin] = STATE(1107),
    [sym_ensure] = STATE(2651),
    [sym_rescue] = STATE(2651),
    [sym__body_statement] = STATE(1410),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(130),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [aux_sym__body_statement_repeat1] = STATE(2305),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(421),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(343),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(347),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [131] = {
    [sym__statements] = STATE(2917),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(180),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2721),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(131),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2721),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(425),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [132] = {
    [sym__statements] = STATE(2809),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(186),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2721),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(132),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2721),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(445),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [133] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2282),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(133),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(133),
    [sym_identifier] = ACTIONS(447),
    [anon_sym_BEGIN] = ACTIONS(450),
    [anon_sym_LBRACE] = ACTIONS(453),
    [anon_sym_RBRACE] = ACTIONS(456),
    [anon_sym_END] = ACTIONS(458),
    [anon_sym_def] = ACTIONS(461),
    [anon_sym_LPAREN] = ACTIONS(464),
    [anon_sym_RPAREN] = ACTIONS(456),
    [anon_sym_COLON_COLON] = ACTIONS(467),
    [anon_sym_SEMI] = ACTIONS(470),
    [anon_sym_STAR] = ACTIONS(473),
    [anon_sym_class] = ACTIONS(476),
    [anon_sym_module] = ACTIONS(479),
    [anon_sym_end] = ACTIONS(482),
    [anon_sym_return] = ACTIONS(484),
    [anon_sym_yield] = ACTIONS(487),
    [anon_sym_break] = ACTIONS(490),
    [anon_sym_next] = ACTIONS(493),
    [anon_sym_redo] = ACTIONS(496),
    [anon_sym_retry] = ACTIONS(499),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_unless] = ACTIONS(505),
    [anon_sym_while] = ACTIONS(508),
    [anon_sym_until] = ACTIONS(511),
    [anon_sym_rescue] = ACTIONS(482),
    [anon_sym_for] = ACTIONS(514),
    [anon_sym_case] = ACTIONS(517),
    [anon_sym_when] = ACTIONS(482),
    [anon_sym_elsif] = ACTIONS(482),
    [anon_sym_else] = ACTIONS(482),
    [anon_sym_begin] = ACTIONS(520),
    [anon_sym_ensure] = ACTIONS(482),
    [anon_sym_PLUS] = ACTIONS(523),
    [anon_sym_defined_QMARK] = ACTIONS(526),
    [anon_sym_not] = ACTIONS(529),
    [anon_sym_BANG] = ACTIONS(532),
    [anon_sym_TILDE] = ACTIONS(532),
    [anon_sym_undef] = ACTIONS(535),
    [anon_sym_alias] = ACTIONS(538),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(541),
    [sym_float] = ACTIONS(544),
    [sym_complex] = ACTIONS(547),
    [sym_super] = ACTIONS(447),
    [sym_self] = ACTIONS(447),
    [sym_true] = ACTIONS(550),
    [sym_false] = ACTIONS(550),
    [sym_nil] = ACTIONS(550),
    [sym_constant] = ACTIONS(447),
    [sym_instance_variable] = ACTIONS(553),
    [sym_class_variable] = ACTIONS(553),
    [sym_global_variable] = ACTIONS(553),
    [sym_character] = ACTIONS(547),
    [anon_sym_LBRACK2] = ACTIONS(556),
    [anon_sym_DASH_GT] = ACTIONS(559),
    [sym__simple_symbol] = ACTIONS(562),
    [sym__string_start] = ACTIONS(565),
    [sym__symbol_start] = ACTIONS(568),
    [sym__subshell_start] = ACTIONS(571),
    [sym__regex_start] = ACTIONS(574),
    [sym__string_array_start] = ACTIONS(577),
    [sym__symbol_array_start] = ACTIONS(580),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(547),
    [sym__unary_minus] = ACTIONS(583),
  },
  [134] = {
    [sym__statements] = STATE(2809),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(186),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2721),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(134),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2721),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(586),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [135] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2140),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(135),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(133),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(588),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(588),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(590),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(590),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(590),
    [anon_sym_elsif] = ACTIONS(590),
    [anon_sym_else] = ACTIONS(590),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(590),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [136] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2911),
    [sym_else] = STATE(2911),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(136),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(592),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [137] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2842),
    [sym_else] = STATE(2842),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(137),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(598),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [138] = {
    [sym__statements] = STATE(2933),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(196),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(138),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2769),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(600),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [139] = {
    [sym__statements] = STATE(2948),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(195),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(139),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2769),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(602),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [140] = {
    [sym__statements] = STATE(2933),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(196),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1633),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1331),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(140),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2769),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(423),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(604),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(423),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [141] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2914),
    [sym_else] = STATE(2914),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(141),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(606),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [142] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2920),
    [sym_else] = STATE(2920),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(142),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(608),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [143] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2845),
    [sym_else] = STATE(2845),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(143),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(610),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [144] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(144),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(612),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(612),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(612),
    [anon_sym_elsif] = ACTIONS(612),
    [anon_sym_else] = ACTIONS(612),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(612),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [145] = {
    [sym__statements] = STATE(2454),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(145),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(614),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(614),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(614),
    [anon_sym_elsif] = ACTIONS(614),
    [anon_sym_else] = ACTIONS(614),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(614),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [146] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2896),
    [sym_else] = STATE(2896),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(146),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(616),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [147] = {
    [sym__statements] = STATE(2652),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(147),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [sym__terminator] = STATE(158),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(331),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(618),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(618),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(618),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(618),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [148] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2902),
    [sym_else] = STATE(2902),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(148),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(620),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [149] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(149),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(622),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(622),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(622),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(622),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [150] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(150),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(624),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(624),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(624),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(624),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [151] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(151),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(626),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(626),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(626),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(626),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [152] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2922),
    [sym_else] = STATE(2922),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(152),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(628),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [153] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_elsif] = STATE(2951),
    [sym_else] = STATE(2951),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(153),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(630),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_elsif] = ACTIONS(594),
    [anon_sym_else] = ACTIONS(345),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [154] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(154),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(632),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(632),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(632),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(632),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [155] = {
    [sym__statements] = STATE(2650),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(155),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(634),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(634),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(634),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(634),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [156] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(156),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(636),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(636),
    [anon_sym_else] = ACTIONS(636),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [157] = {
    [sym__statements] = STATE(2393),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(157),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(638),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_when] = ACTIONS(638),
    [anon_sym_else] = ACTIONS(638),
    [anon_sym_then] = ACTIONS(596),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [158] = {
    [sym__statements] = STATE(2641),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(158),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(640),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_rescue] = ACTIONS(640),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_else] = ACTIONS(640),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_ensure] = ACTIONS(640),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [159] = {
    [sym__statements] = STATE(2809),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(186),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(159),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(642),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [160] = {
    [sym__statements] = STATE(2832),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(184),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(160),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(644),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [161] = {
    [sym__statements] = STATE(2917),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(180),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(161),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(646),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [162] = {
    [sym__statements] = STATE(2791),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(176),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(162),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(648),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [163] = {
    [sym__statements] = STATE(2827),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(187),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(163),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(650),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [164] = {
    [sym__statements] = STATE(2864),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(182),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(164),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(652),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [165] = {
    [sym__statements] = STATE(2868),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(171),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(165),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(654),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [166] = {
    [sym__statements] = STATE(2822),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(174),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(166),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(656),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [167] = {
    [sym__statements] = STATE(2933),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(196),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(167),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(658),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [168] = {
    [sym__statements] = STATE(2948),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(195),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(168),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(660),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [169] = {
    [sym__statements] = STATE(2924),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(192),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(169),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(662),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [170] = {
    [sym__statements] = STATE(2957),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_block_parameters] = STATE(190),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(170),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(664),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_PIPE] = ACTIONS(429),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [171] = {
    [sym__statements] = STATE(2874),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(171),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(666),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [172] = {
    [sym__statements] = STATE(2800),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2758),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(172),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(668),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [173] = {
    [sym__statements] = STATE(2881),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2758),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(173),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(670),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [174] = {
    [sym__statements] = STATE(2795),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(174),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(672),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [175] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2197),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2183),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(175),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(970),
    [aux_sym__statements_repeat1] = STATE(179),
    [ts_builtin_sym_end] = ACTIONS(588),
    [sym_identifier] = ACTIONS(9),
    [anon_sym___END__] = ACTIONS(590),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_SEMI] = ACTIONS(25),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(67),
    [anon_sym_alias] = ACTIONS(69),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [176] = {
    [sym__statements] = STATE(2790),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(176),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(674),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [177] = {
    [sym__statements] = STATE(2863),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2758),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(177),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(676),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [178] = {
    [sym__statements] = STATE(2904),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(178),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(678),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [179] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2252),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(179),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(970),
    [aux_sym__statements_repeat1] = STATE(179),
    [ts_builtin_sym_end] = ACTIONS(456),
    [sym_identifier] = ACTIONS(447),
    [anon_sym___END__] = ACTIONS(482),
    [anon_sym_BEGIN] = ACTIONS(450),
    [anon_sym_LBRACE] = ACTIONS(453),
    [anon_sym_END] = ACTIONS(458),
    [anon_sym_def] = ACTIONS(461),
    [anon_sym_LPAREN] = ACTIONS(464),
    [anon_sym_COLON_COLON] = ACTIONS(467),
    [anon_sym_SEMI] = ACTIONS(680),
    [anon_sym_STAR] = ACTIONS(473),
    [anon_sym_class] = ACTIONS(476),
    [anon_sym_module] = ACTIONS(479),
    [anon_sym_return] = ACTIONS(484),
    [anon_sym_yield] = ACTIONS(487),
    [anon_sym_break] = ACTIONS(490),
    [anon_sym_next] = ACTIONS(493),
    [anon_sym_redo] = ACTIONS(496),
    [anon_sym_retry] = ACTIONS(499),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_unless] = ACTIONS(505),
    [anon_sym_while] = ACTIONS(508),
    [anon_sym_until] = ACTIONS(511),
    [anon_sym_for] = ACTIONS(514),
    [anon_sym_case] = ACTIONS(517),
    [anon_sym_begin] = ACTIONS(520),
    [anon_sym_PLUS] = ACTIONS(523),
    [anon_sym_defined_QMARK] = ACTIONS(526),
    [anon_sym_not] = ACTIONS(529),
    [anon_sym_BANG] = ACTIONS(532),
    [anon_sym_TILDE] = ACTIONS(532),
    [anon_sym_undef] = ACTIONS(535),
    [anon_sym_alias] = ACTIONS(538),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(541),
    [sym_float] = ACTIONS(544),
    [sym_complex] = ACTIONS(547),
    [sym_super] = ACTIONS(447),
    [sym_self] = ACTIONS(447),
    [sym_true] = ACTIONS(550),
    [sym_false] = ACTIONS(550),
    [sym_nil] = ACTIONS(550),
    [sym_constant] = ACTIONS(447),
    [sym_instance_variable] = ACTIONS(553),
    [sym_class_variable] = ACTIONS(553),
    [sym_global_variable] = ACTIONS(553),
    [sym_character] = ACTIONS(547),
    [anon_sym_LBRACK2] = ACTIONS(556),
    [anon_sym_DASH_GT] = ACTIONS(559),
    [sym__simple_symbol] = ACTIONS(562),
    [sym__string_start] = ACTIONS(565),
    [sym__symbol_start] = ACTIONS(568),
    [sym__subshell_start] = ACTIONS(571),
    [sym__regex_start] = ACTIONS(574),
    [sym__string_array_start] = ACTIONS(577),
    [sym__symbol_array_start] = ACTIONS(580),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(547),
    [sym__unary_minus] = ACTIONS(583),
  },
  [180] = {
    [sym__statements] = STATE(2895),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(180),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(683),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [181] = {
    [sym__statements] = STATE(2800),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(181),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(668),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [182] = {
    [sym__statements] = STATE(2852),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(182),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(685),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [183] = {
    [sym__statements] = STATE(2788),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(183),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(687),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [184] = {
    [sym__statements] = STATE(2829),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(184),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(689),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [185] = {
    [sym__statements] = STATE(2903),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(185),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(691),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [186] = {
    [sym__statements] = STATE(2806),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(186),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(693),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [187] = {
    [sym__statements] = STATE(2860),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(187),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(695),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [188] = {
    [sym__statements] = STATE(2848),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(188),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(697),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [189] = {
    [sym__statements] = STATE(2887),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(189),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(699),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [190] = {
    [sym__statements] = STATE(2936),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(190),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(701),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [191] = {
    [sym__statements] = STATE(2956),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2758),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(191),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_RPAREN] = ACTIONS(703),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [192] = {
    [sym__statements] = STATE(2927),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(192),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(705),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [193] = {
    [sym__statements] = STATE(2942),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(193),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_end] = ACTIONS(707),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [194] = {
    [sym__statements] = STATE(2964),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(194),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(709),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [195] = {
    [sym__statements] = STATE(2950),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(195),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(711),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [196] = {
    [sym__statements] = STATE(2930),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(196),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(713),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [197] = {
    [sym__statements] = STATE(2944),
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2137),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(197),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_empty_statement] = STATE(938),
    [aux_sym__statements_repeat1] = STATE(135),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_RBRACE] = ACTIONS(715),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_SEMI] = ACTIONS(379),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [198] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2202),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(198),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [199] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2191),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(199),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [200] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2196),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(200),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [201] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2193),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(201),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [202] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2199),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(202),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [203] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2201),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(203),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [204] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2198),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(204),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [205] = {
    [sym_begin_block] = STATE(2385),
    [sym_end_block] = STATE(2385),
    [sym__statement] = STATE(2385),
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2354),
    [sym_yield_command] = STATE(2354),
    [sym_break_command] = STATE(2354),
    [sym_next_command] = STATE(2354),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_if_modifier] = STATE(2385),
    [sym_unless_modifier] = STATE(2385),
    [sym_while_modifier] = STATE(2385),
    [sym_until_modifier] = STATE(2385),
    [sym_rescue_modifier] = STATE(2385),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2354),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2354),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2354),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2354),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2354),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_undef] = STATE(2385),
    [sym_alias] = STATE(2385),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(205),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_BEGIN] = ACTIONS(719),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_END] = ACTIONS(721),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [anon_sym_undef] = ACTIONS(751),
    [anon_sym_alias] = ACTIONS(753),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [206] = {
    [sym_begin_block] = STATE(2469),
    [sym_end_block] = STATE(2469),
    [sym__statement] = STATE(2469),
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2354),
    [sym_yield_command] = STATE(2354),
    [sym_break_command] = STATE(2354),
    [sym_next_command] = STATE(2354),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_if_modifier] = STATE(2469),
    [sym_unless_modifier] = STATE(2469),
    [sym_while_modifier] = STATE(2469),
    [sym_until_modifier] = STATE(2469),
    [sym_rescue_modifier] = STATE(2469),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2354),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2354),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2354),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2354),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2354),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_undef] = STATE(2469),
    [sym_alias] = STATE(2469),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(206),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_BEGIN] = ACTIONS(719),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_END] = ACTIONS(721),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [anon_sym_undef] = ACTIONS(751),
    [anon_sym_alias] = ACTIONS(753),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [207] = {
    [sym_begin_block] = STATE(2478),
    [sym_end_block] = STATE(2478),
    [sym__statement] = STATE(2478),
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2354),
    [sym_yield_command] = STATE(2354),
    [sym_break_command] = STATE(2354),
    [sym_next_command] = STATE(2354),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_if_modifier] = STATE(2478),
    [sym_unless_modifier] = STATE(2478),
    [sym_while_modifier] = STATE(2478),
    [sym_until_modifier] = STATE(2478),
    [sym_rescue_modifier] = STATE(2478),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2354),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2354),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2354),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2354),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2354),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_undef] = STATE(2478),
    [sym_alias] = STATE(2478),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(207),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_BEGIN] = ACTIONS(719),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_END] = ACTIONS(721),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [anon_sym_undef] = ACTIONS(751),
    [anon_sym_alias] = ACTIONS(753),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [208] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2222),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(208),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [209] = {
    [sym_begin_block] = STATE(2113),
    [sym_end_block] = STATE(2113),
    [sym__statement] = STATE(2224),
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_if_modifier] = STATE(2113),
    [sym_unless_modifier] = STATE(2113),
    [sym_while_modifier] = STATE(2113),
    [sym_until_modifier] = STATE(2113),
    [sym_rescue_modifier] = STATE(2113),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2112),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_undef] = STATE(2113),
    [sym_alias] = STATE(2113),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(209),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_BEGIN] = ACTIONS(13),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_END] = ACTIONS(17),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [anon_sym_undef] = ACTIONS(349),
    [anon_sym_alias] = ACTIONS(351),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [210] = {
    [sym_heredoc_body] = STATE(210),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(771),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_when] = ACTIONS(767),
    [anon_sym_elsif] = ACTIONS(767),
    [anon_sym_else] = ACTIONS(767),
    [anon_sym_then] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_ensure] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [211] = {
    [sym_heredoc_body] = STATE(211),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(773),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_when] = ACTIONS(767),
    [anon_sym_elsif] = ACTIONS(767),
    [anon_sym_else] = ACTIONS(767),
    [anon_sym_then] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_ensure] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [212] = {
    [sym_heredoc_body] = STATE(212),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_when] = ACTIONS(767),
    [anon_sym_elsif] = ACTIONS(767),
    [anon_sym_else] = ACTIONS(767),
    [anon_sym_then] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_ensure] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [213] = {
    [sym_heredoc_body] = STATE(213),
    [sym_identifier] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_RPAREN] = ACTIONS(777),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_end] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_when] = ACTIONS(775),
    [anon_sym_elsif] = ACTIONS(775),
    [anon_sym_else] = ACTIONS(775),
    [anon_sym_then] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_ensure] = ACTIONS(775),
    [anon_sym_EQ_GT] = ACTIONS(777),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__line_break] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [214] = {
    [sym_heredoc_body] = STATE(214),
    [sym_identifier] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_RPAREN] = ACTIONS(781),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_end] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_when] = ACTIONS(779),
    [anon_sym_elsif] = ACTIONS(779),
    [anon_sym_else] = ACTIONS(779),
    [anon_sym_then] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_ensure] = ACTIONS(779),
    [anon_sym_EQ_GT] = ACTIONS(781),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__line_break] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [215] = {
    [sym_heredoc_body] = STATE(215),
    [sym_identifier] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_RPAREN] = ACTIONS(785),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_end] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_when] = ACTIONS(783),
    [anon_sym_elsif] = ACTIONS(783),
    [anon_sym_else] = ACTIONS(783),
    [anon_sym_then] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_ensure] = ACTIONS(783),
    [anon_sym_EQ_GT] = ACTIONS(785),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__line_break] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [216] = {
    [sym_heredoc_body] = STATE(216),
    [sym_identifier] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_RPAREN] = ACTIONS(789),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_end] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_when] = ACTIONS(787),
    [anon_sym_elsif] = ACTIONS(787),
    [anon_sym_else] = ACTIONS(787),
    [anon_sym_then] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_ensure] = ACTIONS(787),
    [anon_sym_EQ_GT] = ACTIONS(789),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__line_break] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [217] = {
    [sym_heredoc_body] = STATE(217),
    [sym_identifier] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_RPAREN] = ACTIONS(793),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_end] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_when] = ACTIONS(791),
    [anon_sym_elsif] = ACTIONS(791),
    [anon_sym_else] = ACTIONS(791),
    [anon_sym_then] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_ensure] = ACTIONS(791),
    [anon_sym_EQ_GT] = ACTIONS(793),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__line_break] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [218] = {
    [sym_heredoc_body] = STATE(218),
    [sym_identifier] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_RPAREN] = ACTIONS(797),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_end] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_when] = ACTIONS(795),
    [anon_sym_elsif] = ACTIONS(795),
    [anon_sym_else] = ACTIONS(795),
    [anon_sym_then] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_ensure] = ACTIONS(795),
    [anon_sym_EQ_GT] = ACTIONS(797),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__line_break] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [219] = {
    [sym_heredoc_body] = STATE(219),
    [sym_identifier] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_RPAREN] = ACTIONS(789),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_end] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_when] = ACTIONS(787),
    [anon_sym_elsif] = ACTIONS(787),
    [anon_sym_else] = ACTIONS(787),
    [anon_sym_then] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_ensure] = ACTIONS(787),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__line_break] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [220] = {
    [sym_heredoc_body] = STATE(220),
    [sym_identifier] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_RPAREN] = ACTIONS(777),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_end] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_when] = ACTIONS(775),
    [anon_sym_elsif] = ACTIONS(775),
    [anon_sym_else] = ACTIONS(775),
    [anon_sym_then] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_ensure] = ACTIONS(775),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__line_break] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [221] = {
    [sym_heredoc_body] = STATE(221),
    [sym_identifier] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_RPAREN] = ACTIONS(781),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_end] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_when] = ACTIONS(779),
    [anon_sym_elsif] = ACTIONS(779),
    [anon_sym_else] = ACTIONS(779),
    [anon_sym_then] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_ensure] = ACTIONS(779),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__line_break] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [222] = {
    [sym_heredoc_body] = STATE(222),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_when] = ACTIONS(767),
    [anon_sym_elsif] = ACTIONS(767),
    [anon_sym_else] = ACTIONS(767),
    [anon_sym_then] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_ensure] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [223] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1285),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1283),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2794),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(968),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(223),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [224] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1266),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1286),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2794),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(968),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(224),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [225] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1578),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1570),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2844),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(959),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(225),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(135),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(135),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(811),
    [sym__unary_minus] = ACTIONS(279),
  },
  [226] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1266),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1286),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2823),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(936),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(226),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [227] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1285),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1283),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2823),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(936),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(227),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [228] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2098),
    [sym__arg] = STATE(1565),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1262),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2844),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(959),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(228),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(135),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(135),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(811),
    [sym__unary_minus] = ACTIONS(279),
  },
  [229] = {
    [sym_heredoc_body] = STATE(229),
    [sym_identifier] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_RPAREN] = ACTIONS(785),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_end] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_when] = ACTIONS(783),
    [anon_sym_elsif] = ACTIONS(783),
    [anon_sym_else] = ACTIONS(783),
    [anon_sym_then] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_ensure] = ACTIONS(783),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__line_break] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [230] = {
    [sym_heredoc_body] = STATE(230),
    [sym_identifier] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_RPAREN] = ACTIONS(797),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_end] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_when] = ACTIONS(795),
    [anon_sym_elsif] = ACTIONS(795),
    [anon_sym_else] = ACTIONS(795),
    [anon_sym_then] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_ensure] = ACTIONS(795),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__line_break] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [231] = {
    [sym_heredoc_body] = STATE(231),
    [sym_identifier] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_RPAREN] = ACTIONS(793),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_end] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_when] = ACTIONS(791),
    [anon_sym_elsif] = ACTIONS(791),
    [anon_sym_else] = ACTIONS(791),
    [anon_sym_then] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_ensure] = ACTIONS(791),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__line_break] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [232] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2908),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(232),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(821),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [233] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2897),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(233),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(899),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [234] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2870),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(234),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(901),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [235] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument] = STATE(2692),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(235),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(903),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(903),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [236] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2781),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(236),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(905),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [237] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2921),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(237),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(907),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [238] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2784),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(238),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(909),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [239] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2861),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(239),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(911),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [240] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2835),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(240),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(913),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [241] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2810),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(241),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(915),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [242] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2808),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(242),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(917),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [243] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2318),
    [sym_yield_command] = STATE(2318),
    [sym_break_command] = STATE(2318),
    [sym_next_command] = STATE(2318),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2318),
    [sym__arg] = STATE(1674),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1121),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2318),
    [sym_method_call] = STATE(1121),
    [sym_splat_argument] = STATE(1700),
    [sym_assignment] = STATE(1674),
    [sym_command_assignment] = STATE(2318),
    [sym_operator_assignment] = STATE(1674),
    [sym_command_operator_assignment] = STATE(2318),
    [sym_conditional] = STATE(1674),
    [sym_range] = STATE(1674),
    [sym_binary] = STATE(1674),
    [sym_command_binary] = STATE(2318),
    [sym_unary] = STATE(1674),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2961),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1121),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(243),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(927),
    [sym_false] = ACTIONS(927),
    [sym_nil] = ACTIONS(927),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(929),
  },
  [244] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2838),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(244),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(931),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [245] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument] = STATE(2692),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(245),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(933),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(933),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [246] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2866),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(246),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(935),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [247] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2318),
    [sym_yield_command] = STATE(2318),
    [sym_break_command] = STATE(2318),
    [sym_next_command] = STATE(2318),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2318),
    [sym__arg] = STATE(1697),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1121),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2318),
    [sym_method_call] = STATE(1121),
    [sym_splat_argument] = STATE(1675),
    [sym_assignment] = STATE(1697),
    [sym_command_assignment] = STATE(2318),
    [sym_operator_assignment] = STATE(1697),
    [sym_command_operator_assignment] = STATE(2318),
    [sym_conditional] = STATE(1697),
    [sym_range] = STATE(1697),
    [sym_binary] = STATE(1697),
    [sym_command_binary] = STATE(2318),
    [sym_unary] = STATE(1697),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2961),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1121),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(247),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(927),
    [sym_false] = ACTIONS(927),
    [sym_nil] = ACTIONS(927),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(929),
  },
  [248] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2854),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(248),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(937),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [249] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2880),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(249),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(939),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [250] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2825),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(250),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(941),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [251] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2816),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(251),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(943),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [252] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2802),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(252),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(945),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [253] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2792),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(253),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(947),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [254] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2834),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(254),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(949),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [255] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2803),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(255),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(951),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [256] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2830),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(256),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(953),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [257] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2965),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(257),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(955),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [258] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2963),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(258),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(957),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [259] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2954),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(259),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(959),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [260] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2949),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(260),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(961),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [261] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2947),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(261),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(963),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [262] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_then] = STATE(2661),
    [sym_begin] = STATE(1107),
    [sym_exceptions] = STATE(2311),
    [sym_exception_variable] = STATE(2493),
    [sym__arg] = STATE(1734),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(2438),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(262),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym__terminator] = STATE(151),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_SEMI] = ACTIONS(355),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_then] = ACTIONS(969),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_EQ_GT] = ACTIONS(971),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(355),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(985),
    [sym__unary_minus] = ACTIONS(987),
  },
  [263] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2945),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(263),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_RBRACK] = ACTIONS(989),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [264] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2958),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(264),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(991),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [265] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument_list_with_trailing_comma] = STATE(2934),
    [sym__argument] = STATE(2609),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(265),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(993),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [266] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2117),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(266),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [267] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1300),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2823),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(936),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(267),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [268] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1235),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym__argument] = STATE(2083),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(964),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(268),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(995),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(997),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(995),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(143),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(147),
    [sym__identifier_hash_key] = ACTIONS(149),
  },
  [269] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1275),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym__argument] = STATE(2083),
    [sym_splat_argument] = STATE(2082),
    [sym_hash_splat_argument] = STATE(2082),
    [sym_block_argument] = STATE(2082),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(1028),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(269),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_pair] = STATE(2082),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1001),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(1003),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(1001),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__block_ampersand] = ACTIONS(275),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(279),
    [sym__identifier_hash_key] = ACTIONS(281),
  },
  [270] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1588),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2844),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(959),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(270),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(135),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(135),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [271] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2102),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(271),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [272] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1318),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(272),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [273] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1300),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2794),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(968),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(273),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [274] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1628),
    [sym__primary] = STATE(1180),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(3),
    [sym_call] = STATE(3),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2877),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(966),
    [sym__variable] = STATE(3),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(274),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(135),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(427),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(135),
    [sym_self] = ACTIONS(135),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(135),
    [sym_instance_variable] = ACTIONS(139),
    [sym_class_variable] = ACTIONS(139),
    [sym_global_variable] = ACTIONS(139),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [275] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2175),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(275),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [276] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2096),
    [sym__arg] = STATE(1318),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(276),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [277] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2118),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(277),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [278] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2121),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(278),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [279] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2174),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(279),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [280] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2119),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(280),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [281] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2102),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(281),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [282] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1835),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym__argument] = STATE(2692),
    [sym_splat_argument] = STATE(2675),
    [sym_hash_splat_argument] = STATE(2675),
    [sym_block_argument] = STATE(2675),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(282),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2675),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__block_ampersand] = ACTIONS(893),
    [sym__splat_star] = ACTIONS(895),
    [sym__unary_minus] = ACTIONS(897),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [283] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2161),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(283),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [284] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2171),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(284),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [285] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2172),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1368),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(7),
    [sym_call] = STATE(7),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2859),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(961),
    [sym__variable] = STATE(7),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(285),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(9),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(23),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(33),
    [anon_sym_yield] = ACTIONS(35),
    [anon_sym_break] = ACTIONS(37),
    [anon_sym_next] = ACTIONS(39),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(9),
    [sym_self] = ACTIONS(9),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(9),
    [sym_instance_variable] = ACTIONS(81),
    [sym_class_variable] = ACTIONS(81),
    [sym_global_variable] = ACTIONS(81),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [286] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return_command] = STATE(2097),
    [sym_yield_command] = STATE(2097),
    [sym_break_command] = STATE(2097),
    [sym_next_command] = STATE(2097),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__expression] = STATE(2120),
    [sym__arg] = STATE(1334),
    [sym__primary] = STATE(1241),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(4),
    [sym_call] = STATE(4),
    [sym_command_call] = STATE(2097),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_command_assignment] = STATE(2097),
    [sym_operator_assignment] = STATE(1238),
    [sym_command_operator_assignment] = STATE(2097),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_command_binary] = STATE(2097),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2853),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(937),
    [sym__variable] = STATE(4),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(286),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(325),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(327),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(335),
    [anon_sym_yield] = ACTIONS(337),
    [anon_sym_break] = ACTIONS(339),
    [anon_sym_next] = ACTIONS(341),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(325),
    [sym_self] = ACTIONS(325),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(325),
    [sym_instance_variable] = ACTIONS(353),
    [sym_class_variable] = ACTIONS(353),
    [sym_global_variable] = ACTIONS(353),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [287] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2315),
    [sym_yield_command] = STATE(2315),
    [sym_break_command] = STATE(2315),
    [sym_next_command] = STATE(2315),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2315),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2315),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2315),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2315),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2315),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(287),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [288] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1693),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym__argument] = STATE(2203),
    [sym_splat_argument] = STATE(2203),
    [sym_hash_splat_argument] = STATE(2203),
    [sym_block_argument] = STATE(2203),
    [sym_assignment] = STATE(1693),
    [sym_operator_assignment] = STATE(1693),
    [sym_conditional] = STATE(1693),
    [sym_range] = STATE(1693),
    [sym_binary] = STATE(1693),
    [sym_unary] = STATE(1693),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1351),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(288),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_pair] = STATE(2203),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1005),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(1009),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1005),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__block_ampersand] = ACTIONS(317),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(321),
    [sym__identifier_hash_key] = ACTIONS(323),
  },
  [289] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2321),
    [sym_yield_command] = STATE(2321),
    [sym_break_command] = STATE(2321),
    [sym_next_command] = STATE(2321),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2321),
    [sym__arg] = STATE(1704),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1121),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2321),
    [sym_method_call] = STATE(1121),
    [sym_assignment] = STATE(1704),
    [sym_command_assignment] = STATE(2321),
    [sym_operator_assignment] = STATE(1704),
    [sym_command_operator_assignment] = STATE(2321),
    [sym_conditional] = STATE(1704),
    [sym_range] = STATE(1704),
    [sym_binary] = STATE(1704),
    [sym_command_binary] = STATE(2321),
    [sym_unary] = STATE(1704),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2961),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1121),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(289),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(927),
    [sym_false] = ACTIONS(927),
    [sym_nil] = ACTIONS(927),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(929),
  },
  [290] = {
    [sym_heredoc_body] = STATE(290),
    [ts_builtin_sym_end] = ACTIONS(769),
    [sym_identifier] = ACTIONS(767),
    [anon_sym___END__] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(773),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [291] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2321),
    [sym_yield_command] = STATE(2321),
    [sym_break_command] = STATE(2321),
    [sym_next_command] = STATE(2321),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2321),
    [sym__arg] = STATE(1754),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2321),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1754),
    [sym_command_assignment] = STATE(2321),
    [sym_operator_assignment] = STATE(1754),
    [sym_command_operator_assignment] = STATE(2321),
    [sym_conditional] = STATE(1754),
    [sym_range] = STATE(1754),
    [sym_binary] = STATE(1754),
    [sym_command_binary] = STATE(2321),
    [sym_unary] = STATE(1754),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(291),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [292] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2301),
    [sym_yield_command] = STATE(2301),
    [sym_break_command] = STATE(2301),
    [sym_next_command] = STATE(2301),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2301),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2301),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2301),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2301),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2301),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(292),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [293] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2316),
    [sym_yield_command] = STATE(2316),
    [sym_break_command] = STATE(2316),
    [sym_next_command] = STATE(2316),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2316),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2316),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2316),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2316),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2316),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(293),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [294] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2317),
    [sym_yield_command] = STATE(2317),
    [sym_break_command] = STATE(2317),
    [sym_next_command] = STATE(2317),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2317),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2317),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2317),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2317),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2317),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(294),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [295] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2319),
    [sym_yield_command] = STATE(2319),
    [sym_break_command] = STATE(2319),
    [sym_next_command] = STATE(2319),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2319),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2319),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2319),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2319),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2319),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(295),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [296] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1626),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym__argument] = STATE(2203),
    [sym_splat_argument] = STATE(2203),
    [sym_hash_splat_argument] = STATE(2203),
    [sym_block_argument] = STATE(2203),
    [sym_assignment] = STATE(1626),
    [sym_operator_assignment] = STATE(1626),
    [sym_conditional] = STATE(1626),
    [sym_range] = STATE(1626),
    [sym_binary] = STATE(1626),
    [sym_unary] = STATE(1626),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1316),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(296),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_pair] = STATE(2203),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1021),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(1023),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1021),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__block_ampersand] = ACTIONS(243),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(247),
    [sym__identifier_hash_key] = ACTIONS(249),
  },
  [297] = {
    [sym_method] = STATE(1582),
    [sym_singleton_method] = STATE(1582),
    [sym_class] = STATE(1582),
    [sym_singleton_class] = STATE(1582),
    [sym_module] = STATE(1582),
    [sym_return_command] = STATE(2320),
    [sym_yield_command] = STATE(2320),
    [sym_break_command] = STATE(2320),
    [sym_next_command] = STATE(2320),
    [sym_return] = STATE(1582),
    [sym_yield] = STATE(1582),
    [sym_break] = STATE(1582),
    [sym_next] = STATE(1582),
    [sym_redo] = STATE(1582),
    [sym_retry] = STATE(1582),
    [sym_while] = STATE(1582),
    [sym_until] = STATE(1582),
    [sym_for] = STATE(1582),
    [sym_case] = STATE(1582),
    [sym_if] = STATE(1582),
    [sym_unless] = STATE(1582),
    [sym_begin] = STATE(1582),
    [sym__expression] = STATE(2320),
    [sym__arg] = STATE(1761),
    [sym__primary] = STATE(1582),
    [sym_parenthesized_statements] = STATE(1582),
    [sym_element_reference] = STATE(1111),
    [sym_scope_resolution] = STATE(10),
    [sym_call] = STATE(10),
    [sym_command_call] = STATE(2320),
    [sym_method_call] = STATE(1111),
    [sym_assignment] = STATE(1761),
    [sym_command_assignment] = STATE(2320),
    [sym_operator_assignment] = STATE(1761),
    [sym_command_operator_assignment] = STATE(2320),
    [sym_conditional] = STATE(1761),
    [sym_range] = STATE(1761),
    [sym_binary] = STATE(1761),
    [sym_command_binary] = STATE(2320),
    [sym_unary] = STATE(1761),
    [sym_parenthesized_unary] = STATE(1582),
    [sym_unary_literal] = STATE(1582),
    [sym_left_assignment_list] = STATE(2932),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1111),
    [sym__variable] = STATE(10),
    [sym_rational] = STATE(1582),
    [sym_chained_string] = STATE(1582),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1582),
    [sym_string_array] = STATE(1582),
    [sym_symbol_array] = STATE(1582),
    [sym_symbol] = STATE(1582),
    [sym_regex] = STATE(1582),
    [sym_heredoc_body] = STATE(297),
    [sym_array] = STATE(1582),
    [sym_hash] = STATE(1582),
    [sym_lambda] = STATE(1582),
    [sym_identifier] = ACTIONS(717),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(725),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(727),
    [anon_sym_yield] = ACTIONS(729),
    [anon_sym_break] = ACTIONS(731),
    [anon_sym_next] = ACTIONS(733),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(755),
    [sym_complex] = ACTIONS(757),
    [sym_super] = ACTIONS(717),
    [sym_self] = ACTIONS(717),
    [sym_true] = ACTIONS(759),
    [sym_false] = ACTIONS(759),
    [sym_nil] = ACTIONS(759),
    [sym_constant] = ACTIONS(717),
    [sym_instance_variable] = ACTIONS(761),
    [sym_class_variable] = ACTIONS(761),
    [sym_global_variable] = ACTIONS(761),
    [sym_character] = ACTIONS(757),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(757),
    [sym__unary_minus] = ACTIONS(765),
  },
  [298] = {
    [sym_heredoc_body] = STATE(298),
    [ts_builtin_sym_end] = ACTIONS(769),
    [sym_identifier] = ACTIONS(767),
    [anon_sym___END__] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(771),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [299] = {
    [sym_heredoc_body] = STATE(299),
    [ts_builtin_sym_end] = ACTIONS(781),
    [sym_identifier] = ACTIONS(779),
    [anon_sym___END__] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_EQ_GT] = ACTIONS(781),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__line_break] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [300] = {
    [sym_heredoc_body] = STATE(300),
    [ts_builtin_sym_end] = ACTIONS(785),
    [sym_identifier] = ACTIONS(783),
    [anon_sym___END__] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_EQ_GT] = ACTIONS(785),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__line_break] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [301] = {
    [sym_heredoc_body] = STATE(301),
    [ts_builtin_sym_end] = ACTIONS(797),
    [sym_identifier] = ACTIONS(795),
    [anon_sym___END__] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_EQ_GT] = ACTIONS(797),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__line_break] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [302] = {
    [sym_heredoc_body] = STATE(302),
    [ts_builtin_sym_end] = ACTIONS(793),
    [sym_identifier] = ACTIONS(791),
    [anon_sym___END__] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_EQ_GT] = ACTIONS(793),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__line_break] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [303] = {
    [sym_heredoc_body] = STATE(303),
    [ts_builtin_sym_end] = ACTIONS(777),
    [sym_identifier] = ACTIONS(775),
    [anon_sym___END__] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_EQ_GT] = ACTIONS(777),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__line_break] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [304] = {
    [sym_heredoc_body] = STATE(304),
    [ts_builtin_sym_end] = ACTIONS(789),
    [sym_identifier] = ACTIONS(787),
    [anon_sym___END__] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_EQ_GT] = ACTIONS(789),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__line_break] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [305] = {
    [sym_heredoc_body] = STATE(305),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(1031),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [306] = {
    [sym_heredoc_body] = STATE(306),
    [ts_builtin_sym_end] = ACTIONS(769),
    [sym_identifier] = ACTIONS(767),
    [anon_sym___END__] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [307] = {
    [sym_heredoc_body] = STATE(307),
    [ts_builtin_sym_end] = ACTIONS(789),
    [sym_identifier] = ACTIONS(787),
    [anon_sym___END__] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__line_break] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [308] = {
    [sym_heredoc_body] = STATE(308),
    [ts_builtin_sym_end] = ACTIONS(797),
    [sym_identifier] = ACTIONS(795),
    [anon_sym___END__] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__line_break] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [309] = {
    [sym_heredoc_body] = STATE(309),
    [ts_builtin_sym_end] = ACTIONS(769),
    [sym_identifier] = ACTIONS(767),
    [anon_sym___END__] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__line_break] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [310] = {
    [sym_heredoc_body] = STATE(310),
    [ts_builtin_sym_end] = ACTIONS(777),
    [sym_identifier] = ACTIONS(775),
    [anon_sym___END__] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__line_break] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [311] = {
    [sym_heredoc_body] = STATE(311),
    [ts_builtin_sym_end] = ACTIONS(793),
    [sym_identifier] = ACTIONS(791),
    [anon_sym___END__] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__line_break] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [312] = {
    [sym_heredoc_body] = STATE(312),
    [ts_builtin_sym_end] = ACTIONS(781),
    [sym_identifier] = ACTIONS(779),
    [anon_sym___END__] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__line_break] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [313] = {
    [sym_heredoc_body] = STATE(313),
    [ts_builtin_sym_end] = ACTIONS(785),
    [sym_identifier] = ACTIONS(783),
    [anon_sym___END__] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__line_break] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [314] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2691),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(314),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2691),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1033),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [315] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(315),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1045),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [316] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2721),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(316),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2721),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1047),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [317] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(317),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1049),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [318] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(318),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1051),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [319] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2716),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(319),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2716),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1053),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [320] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(320),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1055),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [321] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(321),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1057),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [322] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(322),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1059),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [323] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(323),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1061),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [324] = {
    [sym_heredoc_body] = STATE(324),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(1063),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [325] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2769),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(325),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2769),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1065),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [326] = {
    [sym_heredoc_body] = STATE(326),
    [sym_identifier] = ACTIONS(767),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_def] = ACTIONS(767),
    [anon_sym_LPAREN] = ACTIONS(767),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COLON_COLON] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_STAR] = ACTIONS(767),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(1067),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_class] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_module] = ACTIONS(767),
    [anon_sym_return] = ACTIONS(767),
    [anon_sym_yield] = ACTIONS(767),
    [anon_sym_break] = ACTIONS(767),
    [anon_sym_next] = ACTIONS(767),
    [anon_sym_redo] = ACTIONS(767),
    [anon_sym_retry] = ACTIONS(767),
    [anon_sym_if] = ACTIONS(767),
    [anon_sym_unless] = ACTIONS(767),
    [anon_sym_while] = ACTIONS(767),
    [anon_sym_until] = ACTIONS(767),
    [anon_sym_rescue] = ACTIONS(767),
    [anon_sym_for] = ACTIONS(767),
    [anon_sym_do] = ACTIONS(767),
    [anon_sym_case] = ACTIONS(767),
    [anon_sym_begin] = ACTIONS(767),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(767),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(767),
    [anon_sym_or] = ACTIONS(767),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [anon_sym_defined_QMARK] = ACTIONS(769),
    [anon_sym_not] = ACTIONS(767),
    [anon_sym_BANG] = ACTIONS(767),
    [anon_sym_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(767),
    [sym_float] = ACTIONS(767),
    [sym_complex] = ACTIONS(769),
    [sym_super] = ACTIONS(767),
    [sym_self] = ACTIONS(767),
    [sym_true] = ACTIONS(767),
    [sym_false] = ACTIONS(767),
    [sym_nil] = ACTIONS(767),
    [sym_constant] = ACTIONS(767),
    [sym_instance_variable] = ACTIONS(769),
    [sym_class_variable] = ACTIONS(769),
    [sym_global_variable] = ACTIONS(769),
    [sym_character] = ACTIONS(769),
    [anon_sym_LBRACK2] = ACTIONS(767),
    [anon_sym_DASH_GT] = ACTIONS(769),
    [sym__simple_symbol] = ACTIONS(769),
    [sym__string_start] = ACTIONS(769),
    [sym__symbol_start] = ACTIONS(769),
    [sym__subshell_start] = ACTIONS(769),
    [sym__regex_start] = ACTIONS(769),
    [sym__string_array_start] = ACTIONS(769),
    [sym__symbol_array_start] = ACTIONS(769),
    [sym_heredoc_beginning] = ACTIONS(769),
    [sym__block_ampersand] = ACTIONS(769),
    [sym__splat_star] = ACTIONS(769),
    [sym__unary_minus] = ACTIONS(769),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
    [sym__identifier_hash_key] = ACTIONS(769),
  },
  [327] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(327),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_RBRACE] = ACTIONS(1069),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [328] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2054),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_hash_splat_argument] = STATE(2756),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1556),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(328),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_pair] = STATE(2756),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(813),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(115),
    [anon_sym_STAR_STAR] = ACTIONS(431),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(813),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
    [sym__identifier_hash_key] = ACTIONS(443),
  },
  [329] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1774),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1808),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(329),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1085),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [330] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1938),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1916),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(330),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1107),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [331] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1907),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(331),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym__terminator] = STATE(2288),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_SEMI] = ACTIONS(1111),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(1111),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [332] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1830),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1870),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(332),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1131),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [333] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1790),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_splat_argument] = STATE(1771),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(333),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1135),
    [sym__unary_minus] = ACTIONS(897),
  },
  [334] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1291),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1286),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(334),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [335] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1795),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1817),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(335),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1145),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [336] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1929),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(336),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_COMMA] = ACTIONS(1149),
    [anon_sym_SEMI] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(1149),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [337] = {
    [sym_heredoc_body] = STATE(337),
    [sym_identifier] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_EQ_GT] = ACTIONS(777),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [338] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1843),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1839),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(338),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1145),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [339] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1568),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1570),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(339),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(811),
    [sym__unary_minus] = ACTIONS(279),
  },
  [340] = {
    [sym_heredoc_body] = STATE(340),
    [sym_identifier] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_EQ_GT] = ACTIONS(781),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [341] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1775),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1816),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(341),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1085),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [342] = {
    [sym_heredoc_body] = STATE(342),
    [sym_identifier] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_EQ_GT] = ACTIONS(793),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [343] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1972),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(343),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_COMMA] = ACTIONS(1149),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_SEMI] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [344] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1193),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1188),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(344),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1161),
    [sym__unary_minus] = ACTIONS(147),
  },
  [345] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1915),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1893),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(345),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1163),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [346] = {
    [sym_heredoc_body] = STATE(346),
    [sym_identifier] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_EQ_GT] = ACTIONS(797),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [347] = {
    [sym_heredoc_body] = STATE(347),
    [sym_identifier] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_EQ_GT] = ACTIONS(789),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [348] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1945),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(348),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym__terminator] = STATE(2296),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_SEMI] = ACTIONS(1111),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(1111),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [349] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1933),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_splat_argument] = STATE(1923),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(349),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1135),
    [sym__unary_minus] = ACTIONS(897),
  },
  [350] = {
    [sym_heredoc_body] = STATE(350),
    [sym_identifier] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_EQ_GT] = ACTIONS(785),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [351] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1712),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1709),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(351),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1165),
    [sym__unary_minus] = ACTIONS(987),
  },
  [352] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1252),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1262),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(352),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(811),
    [sym__unary_minus] = ACTIONS(279),
  },
  [353] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_pattern] = STATE(2539),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1822),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(2543),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(353),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1167),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [354] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1935),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1919),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(354),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1107),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [355] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1284),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1283),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(355),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [356] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1904),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(356),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym__terminator] = STATE(2227),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_SEMI] = ACTIONS(1111),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(1111),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [357] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_pattern] = STATE(2327),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1822),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(2543),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(357),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1167),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [358] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1714),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1732),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_right_assignment_list] = STATE(1630),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(358),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1163),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [359] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1214),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1215),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_right_assignment_list] = STATE(1229),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(359),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [360] = {
    [sym_heredoc_body] = STATE(360),
    [sym_identifier] = ACTIONS(775),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_def] = ACTIONS(775),
    [anon_sym_LPAREN] = ACTIONS(775),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COLON_COLON] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_STAR] = ACTIONS(775),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_class] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_module] = ACTIONS(775),
    [anon_sym_return] = ACTIONS(775),
    [anon_sym_yield] = ACTIONS(775),
    [anon_sym_break] = ACTIONS(775),
    [anon_sym_next] = ACTIONS(775),
    [anon_sym_redo] = ACTIONS(775),
    [anon_sym_retry] = ACTIONS(775),
    [anon_sym_if] = ACTIONS(775),
    [anon_sym_unless] = ACTIONS(775),
    [anon_sym_while] = ACTIONS(775),
    [anon_sym_until] = ACTIONS(775),
    [anon_sym_rescue] = ACTIONS(775),
    [anon_sym_for] = ACTIONS(775),
    [anon_sym_do] = ACTIONS(775),
    [anon_sym_case] = ACTIONS(775),
    [anon_sym_begin] = ACTIONS(775),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(775),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(775),
    [anon_sym_or] = ACTIONS(775),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [anon_sym_defined_QMARK] = ACTIONS(777),
    [anon_sym_not] = ACTIONS(775),
    [anon_sym_BANG] = ACTIONS(775),
    [anon_sym_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(775),
    [sym_float] = ACTIONS(775),
    [sym_complex] = ACTIONS(777),
    [sym_super] = ACTIONS(775),
    [sym_self] = ACTIONS(775),
    [sym_true] = ACTIONS(775),
    [sym_false] = ACTIONS(775),
    [sym_nil] = ACTIONS(775),
    [sym_constant] = ACTIONS(775),
    [sym_instance_variable] = ACTIONS(777),
    [sym_class_variable] = ACTIONS(777),
    [sym_global_variable] = ACTIONS(777),
    [sym_character] = ACTIONS(777),
    [anon_sym_LBRACK2] = ACTIONS(775),
    [anon_sym_DASH_GT] = ACTIONS(777),
    [sym__simple_symbol] = ACTIONS(777),
    [sym__string_start] = ACTIONS(777),
    [sym__symbol_start] = ACTIONS(777),
    [sym__subshell_start] = ACTIONS(777),
    [sym__regex_start] = ACTIONS(777),
    [sym__string_array_start] = ACTIONS(777),
    [sym__symbol_array_start] = ACTIONS(777),
    [sym_heredoc_beginning] = ACTIONS(777),
    [sym__block_ampersand] = ACTIONS(777),
    [sym__splat_star] = ACTIONS(777),
    [sym__unary_minus] = ACTIONS(777),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
    [sym__identifier_hash_key] = ACTIONS(777),
  },
  [361] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1959),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(361),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_RPAREN] = ACTIONS(1149),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_COMMA] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [362] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1813),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(2501),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(362),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(985),
    [sym__unary_minus] = ACTIONS(987),
  },
  [363] = {
    [sym_heredoc_body] = STATE(363),
    [sym_identifier] = ACTIONS(795),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_def] = ACTIONS(795),
    [anon_sym_LPAREN] = ACTIONS(795),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COLON_COLON] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_STAR] = ACTIONS(795),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_class] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_module] = ACTIONS(795),
    [anon_sym_return] = ACTIONS(795),
    [anon_sym_yield] = ACTIONS(795),
    [anon_sym_break] = ACTIONS(795),
    [anon_sym_next] = ACTIONS(795),
    [anon_sym_redo] = ACTIONS(795),
    [anon_sym_retry] = ACTIONS(795),
    [anon_sym_if] = ACTIONS(795),
    [anon_sym_unless] = ACTIONS(795),
    [anon_sym_while] = ACTIONS(795),
    [anon_sym_until] = ACTIONS(795),
    [anon_sym_rescue] = ACTIONS(795),
    [anon_sym_for] = ACTIONS(795),
    [anon_sym_do] = ACTIONS(795),
    [anon_sym_case] = ACTIONS(795),
    [anon_sym_begin] = ACTIONS(795),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(795),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(795),
    [anon_sym_or] = ACTIONS(795),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [anon_sym_defined_QMARK] = ACTIONS(797),
    [anon_sym_not] = ACTIONS(795),
    [anon_sym_BANG] = ACTIONS(795),
    [anon_sym_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(795),
    [sym_float] = ACTIONS(795),
    [sym_complex] = ACTIONS(797),
    [sym_super] = ACTIONS(795),
    [sym_self] = ACTIONS(795),
    [sym_true] = ACTIONS(795),
    [sym_false] = ACTIONS(795),
    [sym_nil] = ACTIONS(795),
    [sym_constant] = ACTIONS(795),
    [sym_instance_variable] = ACTIONS(797),
    [sym_class_variable] = ACTIONS(797),
    [sym_global_variable] = ACTIONS(797),
    [sym_character] = ACTIONS(797),
    [anon_sym_LBRACK2] = ACTIONS(795),
    [anon_sym_DASH_GT] = ACTIONS(797),
    [sym__simple_symbol] = ACTIONS(797),
    [sym__string_start] = ACTIONS(797),
    [sym__symbol_start] = ACTIONS(797),
    [sym__subshell_start] = ACTIONS(797),
    [sym__regex_start] = ACTIONS(797),
    [sym__string_array_start] = ACTIONS(797),
    [sym__symbol_array_start] = ACTIONS(797),
    [sym_heredoc_beginning] = ACTIONS(797),
    [sym__block_ampersand] = ACTIONS(797),
    [sym__splat_star] = ACTIONS(797),
    [sym__unary_minus] = ACTIONS(797),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
    [sym__identifier_hash_key] = ACTIONS(797),
  },
  [364] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1665),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_splat_argument] = STATE(1640),
    [sym_assignment] = STATE(1665),
    [sym_operator_assignment] = STATE(1665),
    [sym_conditional] = STATE(1665),
    [sym_range] = STATE(1665),
    [sym_binary] = STATE(1665),
    [sym_unary] = STATE(1665),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(364),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__splat_star] = ACTIONS(1179),
    [sym__unary_minus] = ACTIONS(321),
  },
  [365] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1861),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_splat_argument] = STATE(1634),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(365),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1135),
    [sym__unary_minus] = ACTIONS(897),
  },
  [366] = {
    [sym_heredoc_body] = STATE(366),
    [sym_identifier] = ACTIONS(787),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_def] = ACTIONS(787),
    [anon_sym_LPAREN] = ACTIONS(787),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COLON_COLON] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_STAR] = ACTIONS(787),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_class] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_module] = ACTIONS(787),
    [anon_sym_return] = ACTIONS(787),
    [anon_sym_yield] = ACTIONS(787),
    [anon_sym_break] = ACTIONS(787),
    [anon_sym_next] = ACTIONS(787),
    [anon_sym_redo] = ACTIONS(787),
    [anon_sym_retry] = ACTIONS(787),
    [anon_sym_if] = ACTIONS(787),
    [anon_sym_unless] = ACTIONS(787),
    [anon_sym_while] = ACTIONS(787),
    [anon_sym_until] = ACTIONS(787),
    [anon_sym_rescue] = ACTIONS(787),
    [anon_sym_for] = ACTIONS(787),
    [anon_sym_do] = ACTIONS(787),
    [anon_sym_case] = ACTIONS(787),
    [anon_sym_begin] = ACTIONS(787),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(787),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(787),
    [anon_sym_or] = ACTIONS(787),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [anon_sym_defined_QMARK] = ACTIONS(789),
    [anon_sym_not] = ACTIONS(787),
    [anon_sym_BANG] = ACTIONS(787),
    [anon_sym_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(787),
    [sym_float] = ACTIONS(787),
    [sym_complex] = ACTIONS(789),
    [sym_super] = ACTIONS(787),
    [sym_self] = ACTIONS(787),
    [sym_true] = ACTIONS(787),
    [sym_false] = ACTIONS(787),
    [sym_nil] = ACTIONS(787),
    [sym_constant] = ACTIONS(787),
    [sym_instance_variable] = ACTIONS(789),
    [sym_class_variable] = ACTIONS(789),
    [sym_global_variable] = ACTIONS(789),
    [sym_character] = ACTIONS(789),
    [anon_sym_LBRACK2] = ACTIONS(787),
    [anon_sym_DASH_GT] = ACTIONS(789),
    [sym__simple_symbol] = ACTIONS(789),
    [sym__string_start] = ACTIONS(789),
    [sym__symbol_start] = ACTIONS(789),
    [sym__subshell_start] = ACTIONS(789),
    [sym__regex_start] = ACTIONS(789),
    [sym__string_array_start] = ACTIONS(789),
    [sym__symbol_array_start] = ACTIONS(789),
    [sym_heredoc_beginning] = ACTIONS(789),
    [sym__block_ampersand] = ACTIONS(789),
    [sym__splat_star] = ACTIONS(789),
    [sym__unary_minus] = ACTIONS(789),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
    [sym__identifier_hash_key] = ACTIONS(789),
  },
  [367] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1812),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1634),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(367),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1163),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [368] = {
    [sym_heredoc_body] = STATE(368),
    [sym_identifier] = ACTIONS(791),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_def] = ACTIONS(791),
    [anon_sym_LPAREN] = ACTIONS(791),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COLON_COLON] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_STAR] = ACTIONS(791),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_class] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_module] = ACTIONS(791),
    [anon_sym_return] = ACTIONS(791),
    [anon_sym_yield] = ACTIONS(791),
    [anon_sym_break] = ACTIONS(791),
    [anon_sym_next] = ACTIONS(791),
    [anon_sym_redo] = ACTIONS(791),
    [anon_sym_retry] = ACTIONS(791),
    [anon_sym_if] = ACTIONS(791),
    [anon_sym_unless] = ACTIONS(791),
    [anon_sym_while] = ACTIONS(791),
    [anon_sym_until] = ACTIONS(791),
    [anon_sym_rescue] = ACTIONS(791),
    [anon_sym_for] = ACTIONS(791),
    [anon_sym_do] = ACTIONS(791),
    [anon_sym_case] = ACTIONS(791),
    [anon_sym_begin] = ACTIONS(791),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(791),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(791),
    [anon_sym_or] = ACTIONS(791),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [anon_sym_defined_QMARK] = ACTIONS(793),
    [anon_sym_not] = ACTIONS(791),
    [anon_sym_BANG] = ACTIONS(791),
    [anon_sym_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(791),
    [sym_float] = ACTIONS(791),
    [sym_complex] = ACTIONS(793),
    [sym_super] = ACTIONS(791),
    [sym_self] = ACTIONS(791),
    [sym_true] = ACTIONS(791),
    [sym_false] = ACTIONS(791),
    [sym_nil] = ACTIONS(791),
    [sym_constant] = ACTIONS(791),
    [sym_instance_variable] = ACTIONS(793),
    [sym_class_variable] = ACTIONS(793),
    [sym_global_variable] = ACTIONS(793),
    [sym_character] = ACTIONS(793),
    [anon_sym_LBRACK2] = ACTIONS(791),
    [anon_sym_DASH_GT] = ACTIONS(793),
    [sym__simple_symbol] = ACTIONS(793),
    [sym__string_start] = ACTIONS(793),
    [sym__symbol_start] = ACTIONS(793),
    [sym__subshell_start] = ACTIONS(793),
    [sym__regex_start] = ACTIONS(793),
    [sym__string_array_start] = ACTIONS(793),
    [sym__symbol_array_start] = ACTIONS(793),
    [sym_heredoc_beginning] = ACTIONS(793),
    [sym__block_ampersand] = ACTIONS(793),
    [sym__splat_star] = ACTIONS(793),
    [sym__unary_minus] = ACTIONS(793),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
    [sym__identifier_hash_key] = ACTIONS(793),
  },
  [369] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1610),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_splat_argument] = STATE(1603),
    [sym_assignment] = STATE(1610),
    [sym_operator_assignment] = STATE(1610),
    [sym_conditional] = STATE(1610),
    [sym_range] = STATE(1610),
    [sym_binary] = STATE(1610),
    [sym_unary] = STATE(1610),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(369),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [370] = {
    [sym_heredoc_body] = STATE(370),
    [sym_identifier] = ACTIONS(783),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_def] = ACTIONS(783),
    [anon_sym_LPAREN] = ACTIONS(783),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COLON_COLON] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_STAR] = ACTIONS(783),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_class] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_module] = ACTIONS(783),
    [anon_sym_return] = ACTIONS(783),
    [anon_sym_yield] = ACTIONS(783),
    [anon_sym_break] = ACTIONS(783),
    [anon_sym_next] = ACTIONS(783),
    [anon_sym_redo] = ACTIONS(783),
    [anon_sym_retry] = ACTIONS(783),
    [anon_sym_if] = ACTIONS(783),
    [anon_sym_unless] = ACTIONS(783),
    [anon_sym_while] = ACTIONS(783),
    [anon_sym_until] = ACTIONS(783),
    [anon_sym_rescue] = ACTIONS(783),
    [anon_sym_for] = ACTIONS(783),
    [anon_sym_do] = ACTIONS(783),
    [anon_sym_case] = ACTIONS(783),
    [anon_sym_begin] = ACTIONS(783),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(783),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(783),
    [anon_sym_or] = ACTIONS(783),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [anon_sym_defined_QMARK] = ACTIONS(785),
    [anon_sym_not] = ACTIONS(783),
    [anon_sym_BANG] = ACTIONS(783),
    [anon_sym_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(783),
    [sym_float] = ACTIONS(783),
    [sym_complex] = ACTIONS(785),
    [sym_super] = ACTIONS(783),
    [sym_self] = ACTIONS(783),
    [sym_true] = ACTIONS(783),
    [sym_false] = ACTIONS(783),
    [sym_nil] = ACTIONS(783),
    [sym_constant] = ACTIONS(783),
    [sym_instance_variable] = ACTIONS(785),
    [sym_class_variable] = ACTIONS(785),
    [sym_global_variable] = ACTIONS(785),
    [sym_character] = ACTIONS(785),
    [anon_sym_LBRACK2] = ACTIONS(783),
    [anon_sym_DASH_GT] = ACTIONS(785),
    [sym__simple_symbol] = ACTIONS(785),
    [sym__string_start] = ACTIONS(785),
    [sym__symbol_start] = ACTIONS(785),
    [sym__subshell_start] = ACTIONS(785),
    [sym__regex_start] = ACTIONS(785),
    [sym__string_array_start] = ACTIONS(785),
    [sym__symbol_array_start] = ACTIONS(785),
    [sym_heredoc_beginning] = ACTIONS(785),
    [sym__block_ampersand] = ACTIONS(785),
    [sym__splat_star] = ACTIONS(785),
    [sym__unary_minus] = ACTIONS(785),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
    [sym__identifier_hash_key] = ACTIONS(785),
  },
  [371] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1974),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1634),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(371),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1107),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [372] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1694),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_splat_argument] = STATE(1675),
    [sym_assignment] = STATE(1694),
    [sym_operator_assignment] = STATE(1694),
    [sym_conditional] = STATE(1694),
    [sym_range] = STATE(1694),
    [sym_binary] = STATE(1694),
    [sym_unary] = STATE(1694),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(372),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(929),
  },
  [373] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1281),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(373),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(811),
    [sym__unary_minus] = ACTIONS(279),
  },
  [374] = {
    [sym_heredoc_body] = STATE(374),
    [sym_identifier] = ACTIONS(779),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_def] = ACTIONS(779),
    [anon_sym_LPAREN] = ACTIONS(779),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COLON_COLON] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_STAR] = ACTIONS(779),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_class] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_module] = ACTIONS(779),
    [anon_sym_return] = ACTIONS(779),
    [anon_sym_yield] = ACTIONS(779),
    [anon_sym_break] = ACTIONS(779),
    [anon_sym_next] = ACTIONS(779),
    [anon_sym_redo] = ACTIONS(779),
    [anon_sym_retry] = ACTIONS(779),
    [anon_sym_if] = ACTIONS(779),
    [anon_sym_unless] = ACTIONS(779),
    [anon_sym_while] = ACTIONS(779),
    [anon_sym_until] = ACTIONS(779),
    [anon_sym_rescue] = ACTIONS(779),
    [anon_sym_for] = ACTIONS(779),
    [anon_sym_do] = ACTIONS(779),
    [anon_sym_case] = ACTIONS(779),
    [anon_sym_begin] = ACTIONS(779),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(779),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(779),
    [anon_sym_or] = ACTIONS(779),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [anon_sym_defined_QMARK] = ACTIONS(781),
    [anon_sym_not] = ACTIONS(779),
    [anon_sym_BANG] = ACTIONS(779),
    [anon_sym_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(779),
    [sym_float] = ACTIONS(779),
    [sym_complex] = ACTIONS(781),
    [sym_super] = ACTIONS(779),
    [sym_self] = ACTIONS(779),
    [sym_true] = ACTIONS(779),
    [sym_false] = ACTIONS(779),
    [sym_nil] = ACTIONS(779),
    [sym_constant] = ACTIONS(779),
    [sym_instance_variable] = ACTIONS(781),
    [sym_class_variable] = ACTIONS(781),
    [sym_global_variable] = ACTIONS(781),
    [sym_character] = ACTIONS(781),
    [anon_sym_LBRACK2] = ACTIONS(779),
    [anon_sym_DASH_GT] = ACTIONS(781),
    [sym__simple_symbol] = ACTIONS(781),
    [sym__string_start] = ACTIONS(781),
    [sym__symbol_start] = ACTIONS(781),
    [sym__subshell_start] = ACTIONS(781),
    [sym__regex_start] = ACTIONS(781),
    [sym__string_array_start] = ACTIONS(781),
    [sym__symbol_array_start] = ACTIONS(781),
    [sym_heredoc_beginning] = ACTIONS(781),
    [sym__block_ampersand] = ACTIONS(781),
    [sym__splat_star] = ACTIONS(781),
    [sym__unary_minus] = ACTIONS(781),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
    [sym__identifier_hash_key] = ACTIONS(781),
  },
  [375] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1579),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_splat_argument] = STATE(1580),
    [sym_assignment] = STATE(1579),
    [sym_operator_assignment] = STATE(1579),
    [sym_conditional] = STATE(1579),
    [sym_range] = STATE(1579),
    [sym_binary] = STATE(1579),
    [sym_unary] = STATE(1579),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(375),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__splat_star] = ACTIONS(1209),
    [sym__unary_minus] = ACTIONS(247),
  },
  [376] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1779),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(376),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1165),
    [sym__unary_minus] = ACTIONS(987),
  },
  [377] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1299),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(377),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(277),
    [sym__unary_minus] = ACTIONS(807),
  },
  [378] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1990),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(378),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym__terminator] = STATE(2369),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_SEMI] = ACTIONS(1111),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__line_break] = ACTIONS(1111),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [379] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1895),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_splat_argument] = STATE(1634),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(379),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__splat_star] = ACTIONS(1131),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [380] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1901),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(380),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_COMMA] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_do] = ACTIONS(1211),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [381] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1243),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(381),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(145),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [382] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1216),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(382),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1161),
    [sym__unary_minus] = ACTIONS(147),
  },
  [383] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1856),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(383),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1145),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [384] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1842),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_splat_argument] = STATE(1211),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(384),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__splat_star] = ACTIONS(1085),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [385] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1698),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_splat_argument] = STATE(1700),
    [sym_assignment] = STATE(1698),
    [sym_operator_assignment] = STATE(1698),
    [sym_conditional] = STATE(1698),
    [sym_range] = STATE(1698),
    [sym_binary] = STATE(1698),
    [sym_unary] = STATE(1698),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_right_assignment_list] = STATE(1625),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(385),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(929),
  },
  [386] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1656),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_splat_argument] = STATE(1594),
    [sym_assignment] = STATE(1656),
    [sym_operator_assignment] = STATE(1656),
    [sym_conditional] = STATE(1656),
    [sym_range] = STATE(1656),
    [sym_binary] = STATE(1656),
    [sym_unary] = STATE(1656),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(386),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__splat_star] = ACTIONS(245),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [387] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1707),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_splat_argument] = STATE(1594),
    [sym_assignment] = STATE(1707),
    [sym_operator_assignment] = STATE(1707),
    [sym_conditional] = STATE(1707),
    [sym_range] = STATE(1707),
    [sym_binary] = STATE(1707),
    [sym_unary] = STATE(1707),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(387),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__splat_star] = ACTIONS(319),
    [sym__unary_minus] = ACTIONS(929),
  },
  [388] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1687),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_splat_argument] = STATE(1594),
    [sym_assignment] = STATE(1687),
    [sym_operator_assignment] = STATE(1687),
    [sym_conditional] = STATE(1687),
    [sym_range] = STATE(1687),
    [sym_binary] = STATE(1687),
    [sym_unary] = STATE(1687),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(388),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__splat_star] = ACTIONS(1179),
    [sym__unary_minus] = ACTIONS(321),
  },
  [389] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1623),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_splat_argument] = STATE(1594),
    [sym_assignment] = STATE(1623),
    [sym_operator_assignment] = STATE(1623),
    [sym_conditional] = STATE(1623),
    [sym_range] = STATE(1623),
    [sym_binary] = STATE(1623),
    [sym_unary] = STATE(1623),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(389),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__splat_star] = ACTIONS(1209),
    [sym__unary_minus] = ACTIONS(247),
  },
  [390] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1900),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(390),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1221),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [391] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1802),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(391),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [392] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1888),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(392),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [393] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1869),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(393),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [394] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1887),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(394),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [395] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2015),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(395),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [396] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1880),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(396),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [397] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1821),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(397),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [398] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1867),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(398),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [399] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1894),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(399),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [400] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2038),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(400),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [401] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1323),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(401),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [402] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1788),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(402),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [403] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1862),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(403),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [404] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1891),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(404),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [405] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2057),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(405),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [406] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1282),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(406),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [407] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1746),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(407),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [408] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1745),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(408),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [409] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1890),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(409),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [410] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1864),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(410),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [411] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1892),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(411),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [412] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1744),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(412),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [413] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1742),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(413),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [414] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1889),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(414),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [415] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1740),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(415),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [416] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1739),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(416),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [417] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1738),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(417),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [418] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1737),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(418),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [419] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1778),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(419),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [420] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1769),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(420),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [421] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1772),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(421),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [422] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1752),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(422),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [423] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1767),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(423),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [424] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1765),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(424),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [425] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1328),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(425),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [426] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1859),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(426),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [427] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1930),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(427),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [428] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1319),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(428),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [429] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1948),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(429),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [430] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(430),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [431] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1926),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(431),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [432] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2056),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(432),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [433] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1942),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(433),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [434] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1920),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(434),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [435] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1917),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(435),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [436] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1931),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(436),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [437] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1927),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(437),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [438] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1896),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(438),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [439] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(439),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [440] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2042),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(440),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [441] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2023),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(441),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [442] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2016),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(442),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [443] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1939),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(443),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [444] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1910),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(444),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [445] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1906),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(445),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [446] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1940),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(446),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [447] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1936),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(447),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [448] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1934),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(448),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [449] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1941),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(449),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [450] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(450),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [451] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1898),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(451),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [452] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1957),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(452),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [453] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1968),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(453),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [454] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1943),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(454),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [455] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1976),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(455),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1221),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [456] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1946),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(456),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [457] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1908),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(457),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [458] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1897),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(458),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [459] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1992),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(459),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [460] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1840),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(460),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [461] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2008),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(461),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [462] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2010),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(462),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [463] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1762),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(463),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [464] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1928),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(464),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [465] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2040),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(465),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [466] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2014),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(466),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [467] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2051),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(467),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [468] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2045),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(468),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [469] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2049),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(469),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [470] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1994),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(470),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [471] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1325),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(471),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [472] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1998),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(472),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [473] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2037),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(473),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [474] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2030),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(474),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [475] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2020),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(475),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [476] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1995),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(476),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [477] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1872),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(477),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [478] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1996),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(478),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [479] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1764),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(479),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [480] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2000),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(480),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [481] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1776),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(481),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [482] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2043),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(482),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [483] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1782),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(483),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [484] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1783),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(484),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [485] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2044),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(485),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [486] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1784),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(486),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [487] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1785),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(487),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [488] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1793),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(488),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [489] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1811),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(489),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [490] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1814),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(490),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [491] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2029),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(491),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [492] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1819),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(492),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [493] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1748),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(493),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [494] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2001),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(494),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [495] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2007),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(495),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [496] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2046),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(496),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [497] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2052),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(497),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [498] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1924),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(498),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [499] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1815),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(499),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [500] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1899),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(500),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [501] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2059),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(501),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [502] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1937),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(502),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [503] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1276),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(503),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [504] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2026),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(504),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [505] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2058),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(505),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [506] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1913),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(506),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [507] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2039),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(507),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [508] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1280),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(508),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [509] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1823),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(509),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [510] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1773),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(510),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [511] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1770),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(511),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [512] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1287),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(512),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [513] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1290),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(513),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [514] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1925),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(514),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [515] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1863),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(515),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [516] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1292),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(516),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [517] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1279),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(517),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [518] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1278),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(518),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [519] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1277),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(519),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [520] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1274),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(520),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [521] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1268),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(521),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [522] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1270),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(522),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [523] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1272),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(523),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [524] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1993),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(524),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [525] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1973),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(525),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [526] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1971),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(526),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [527] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1967),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(527),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [528] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1966),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(528),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [529] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1868),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(529),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [530] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1208),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(530),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [531] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1964),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(531),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [532] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1902),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(532),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [533] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1871),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(533),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [534] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1873),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(534),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [535] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1963),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(535),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [536] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1874),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(536),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [537] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1877),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(537),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [538] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1881),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(538),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [539] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1962),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(539),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [540] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1882),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(540),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [541] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1883),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(541),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [542] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1766),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(542),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [543] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1960),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(543),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [544] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1884),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(544),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [545] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1885),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(545),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [546] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1886),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(546),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [547] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1955),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(547),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [548] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1273),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(548),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [549] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1302),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(549),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [550] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1601),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(550),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [551] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1602),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(551),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [552] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1304),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(552),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [553] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1950),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(553),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [554] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1271),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(554),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [555] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1604),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(555),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [556] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1605),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(556),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [557] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1606),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(557),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [558] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1608),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(558),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [559] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1589),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(559),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [560] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1609),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(560),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [561] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1611),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(561),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [562] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1612),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(562),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [563] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2055),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(563),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [564] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1613),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(564),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [565] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1269),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(565),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [566] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1614),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(566),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [567] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2797),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(928),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(567),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(809),
    [anon_sym_defined_QMARK] = ACTIONS(267),
    [anon_sym_not] = ACTIONS(269),
    [anon_sym_BANG] = ACTIONS(273),
    [anon_sym_TILDE] = ACTIONS(273),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(279),
  },
  [568] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1952),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(568),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [569] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1255),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(569),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [570] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1240),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(570),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [571] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1306),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(571),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [572] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1307),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(572),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [573] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1309),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(573),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [574] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1210),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(574),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [575] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1217),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(575),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [576] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(576),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [577] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1310),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(577),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [578] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1312),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(578),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [579] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1314),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(579),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [580] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1315),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(580),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [581] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1313),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(581),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [582] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1296),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(582),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [583] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1303),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(583),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [584] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1298),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(584),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [585] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1961),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(585),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [586] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2021),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(586),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [587] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1999),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(587),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [588] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(588),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [589] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2060),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(589),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [590] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1297),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(590),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [591] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1836),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(591),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [592] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1837),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(592),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [593] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1838),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(593),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [594] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1944),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(594),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [595] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(595),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [596] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1260),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(596),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [597] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1756),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(597),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [598] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2048),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(598),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [599] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2050),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(599),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [600] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2053),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(600),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [601] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(601),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [602] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1810),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(602),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [603] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2047),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(603),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [604] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1855),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(604),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [605] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1854),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(605),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [606] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1853),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(606),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [607] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1852),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(607),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [608] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1851),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(608),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [609] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1850),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(609),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [610] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1849),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(610),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [611] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1848),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(611),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [612] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1977),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(612),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [613] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(613),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [614] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1786),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(614),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [615] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1787),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(615),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [616] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1789),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(616),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [617] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1847),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(617),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [618] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1245),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(618),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [619] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1846),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(619),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [620] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1845),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(620),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [621] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1844),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(621),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [622] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1949),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(622),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [623] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1258),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(623),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [624] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1257),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(624),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [625] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1876),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(625),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [626] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1801),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(626),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [627] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1333),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(627),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [628] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1322),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(628),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [629] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1841),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2812),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1179),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(629),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(855),
    [anon_sym_defined_QMARK] = ACTIONS(857),
    [anon_sym_not] = ACTIONS(859),
    [anon_sym_BANG] = ACTIONS(861),
    [anon_sym_TILDE] = ACTIONS(861),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(897),
  },
  [630] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1326),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(630),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [631] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1970),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(631),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [632] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1293),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(632),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [633] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1792),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(633),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [634] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1212),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(634),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [635] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1295),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(635),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [636] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1311),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(636),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [637] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1222),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(637),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [638] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1223),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(638),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [639] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1308),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(639),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [640] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1224),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(640),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [641] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1225),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(641),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [642] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1226),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(642),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [643] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1228),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(643),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [644] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1209),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(644),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [645] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1981),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(645),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [646] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(646),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [647] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1236),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(647),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [648] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1233),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(648),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [649] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1321),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(649),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [650] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1947),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(650),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [651] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1324),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(651),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [652] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1922),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(652),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [653] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1914),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(653),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [654] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1909),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(654),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [655] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1912),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(655),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [656] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(1126),
    [sym_call] = STATE(1126),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2787),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1191),
    [sym__variable] = STATE(1126),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(656),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1123),
    [anon_sym_defined_QMARK] = ACTIONS(1125),
    [anon_sym_not] = ACTIONS(1127),
    [anon_sym_BANG] = ACTIONS(1129),
    [anon_sym_TILDE] = ACTIONS(1129),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1133),
  },
  [657] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1246),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(657),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [658] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1911),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(658),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [659] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2022),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(659),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [660] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1231),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(660),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [661] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1249),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(661),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [662] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1265),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(662),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [663] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1264),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(663),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [664] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1256),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(664),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [665] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1253),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(665),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [666] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1251),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(666),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [667] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1250),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(667),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [668] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1247),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(668),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [669] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1244),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(669),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [670] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1242),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(670),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [671] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1234),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(671),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [672] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1921),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(672),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [673] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1332),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(673),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [674] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1317),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(674),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [675] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(675),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [676] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1905),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(676),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [677] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1336),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(677),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [678] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1903),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(678),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [679] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1320),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(679),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [680] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1958),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(680),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [681] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(681),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [682] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1987),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(682),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [683] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1757),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(683),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1221),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [684] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1956),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(684),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [685] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1953),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(685),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [686] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1951),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(686),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [687] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1261),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(687),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [688] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1954),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(688),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [689] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1753),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(689),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [690] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1969),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(690),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [691] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1975),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(691),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [692] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1978),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(692),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [693] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1979),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(693),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [694] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1980),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(694),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [695] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2909),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1177),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(695),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(973),
    [anon_sym_defined_QMARK] = ACTIONS(975),
    [anon_sym_not] = ACTIONS(977),
    [anon_sym_BANG] = ACTIONS(979),
    [anon_sym_TILDE] = ACTIONS(979),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(987),
  },
  [696] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1982),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(696),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [697] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1828),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(697),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [698] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1826),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(698),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [699] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1986),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(699),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [700] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1824),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(700),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1221),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [701] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(701),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [702] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1983),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(702),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1249),
    [sym_float] = ACTIONS(1251),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [703] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1832),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(703),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [704] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1984),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(704),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [705] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1985),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1538),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(705),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [706] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1618),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2898),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1227),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(706),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1093),
    [anon_sym_defined_QMARK] = ACTIONS(1095),
    [anon_sym_not] = ACTIONS(1097),
    [anon_sym_BANG] = ACTIONS(1099),
    [anon_sym_TILDE] = ACTIONS(1099),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1109),
  },
  [707] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1988),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(707),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [708] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1866),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(708),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [709] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1831),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(709),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [710] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1248),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(710),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [711] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2036),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(711),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [712] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2035),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(712),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [713] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2034),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(713),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [714] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2033),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(714),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [715] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2032),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(715),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [716] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2031),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(716),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [717] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1829),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2875),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1184),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(717),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1075),
    [anon_sym_defined_QMARK] = ACTIONS(1077),
    [anon_sym_not] = ACTIONS(1079),
    [anon_sym_BANG] = ACTIONS(1081),
    [anon_sym_TILDE] = ACTIONS(1081),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1221),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1087),
  },
  [718] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2028),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(718),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [719] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2027),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(719),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [720] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1991),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(720),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [721] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2025),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(721),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [722] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2024),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(722),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [723] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1878),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2892),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1176),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(723),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1151),
    [anon_sym_defined_QMARK] = ACTIONS(1153),
    [anon_sym_not] = ACTIONS(1155),
    [anon_sym_BANG] = ACTIONS(1157),
    [anon_sym_TILDE] = ACTIONS(1157),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1159),
  },
  [724] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1263),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(724),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [725] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1879),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2785),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1182),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(725),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1137),
    [anon_sym_defined_QMARK] = ACTIONS(1139),
    [anon_sym_not] = ACTIONS(1141),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1147),
  },
  [726] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1329),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(726),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [727] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(727),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [728] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1305),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(728),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [729] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1301),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2796),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(935),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(729),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(799),
    [anon_sym_defined_QMARK] = ACTIONS(801),
    [anon_sym_not] = ACTIONS(803),
    [anon_sym_BANG] = ACTIONS(805),
    [anon_sym_TILDE] = ACTIONS(805),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(807),
  },
  [730] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2041),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(730),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [731] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1230),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2907),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(892),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(731),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1169),
    [anon_sym_defined_QMARK] = ACTIONS(1171),
    [anon_sym_not] = ACTIONS(1173),
    [anon_sym_BANG] = ACTIONS(1175),
    [anon_sym_TILDE] = ACTIONS(1175),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1177),
  },
  [732] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1330),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2910),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(933),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(732),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(59),
    [anon_sym_defined_QMARK] = ACTIONS(61),
    [anon_sym_not] = ACTIONS(63),
    [anon_sym_BANG] = ACTIONS(65),
    [anon_sym_TILDE] = ACTIONS(65),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(101),
  },
  [733] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1639),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(733),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [734] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2012),
    [sym__primary] = STATE(1649),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1201),
    [sym_scope_resolution] = STATE(976),
    [sym_call] = STATE(976),
    [sym_method_call] = STATE(1201),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2867),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1213),
    [sym__variable] = STATE(976),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(734),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(869),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(823),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1035),
    [anon_sym_defined_QMARK] = ACTIONS(1037),
    [anon_sym_not] = ACTIONS(1039),
    [anon_sym_BANG] = ACTIONS(1041),
    [anon_sym_TILDE] = ACTIONS(1041),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(869),
    [sym_self] = ACTIONS(869),
    [sym_true] = ACTIONS(871),
    [sym_false] = ACTIONS(871),
    [sym_nil] = ACTIONS(871),
    [sym_constant] = ACTIONS(869),
    [sym_instance_variable] = ACTIONS(873),
    [sym_class_variable] = ACTIONS(873),
    [sym_global_variable] = ACTIONS(873),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1043),
  },
  [735] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(1997),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(735),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [736] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1637),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1082),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(736),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [737] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1635),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(869),
    [sym_call] = STATE(869),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2789),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(957),
    [sym__variable] = STATE(869),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(737),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(433),
    [anon_sym_defined_QMARK] = ACTIONS(435),
    [anon_sym_not] = ACTIONS(437),
    [anon_sym_BANG] = ACTIONS(439),
    [anon_sym_TILDE] = ACTIONS(439),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1247),
    [sym_float] = ACTIONS(1223),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(441),
  },
  [738] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1221),
    [sym__primary] = STATE(1166),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(907),
    [sym_scope_resolution] = STATE(870),
    [sym_call] = STATE(870),
    [sym_method_call] = STATE(907),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2799),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(880),
    [sym__variable] = STATE(870),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(738),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(965),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(967),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(999),
    [anon_sym_defined_QMARK] = ACTIONS(127),
    [anon_sym_not] = ACTIONS(129),
    [anon_sym_BANG] = ACTIONS(133),
    [anon_sym_TILDE] = ACTIONS(133),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(73),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(965),
    [sym_self] = ACTIONS(965),
    [sym_true] = ACTIONS(137),
    [sym_false] = ACTIONS(137),
    [sym_nil] = ACTIONS(137),
    [sym_constant] = ACTIONS(965),
    [sym_instance_variable] = ACTIONS(983),
    [sym_class_variable] = ACTIONS(983),
    [sym_global_variable] = ACTIONS(983),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(147),
  },
  [739] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2019),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(739),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [740] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2002),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(740),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [741] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2018),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(741),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [742] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2003),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(742),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [743] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2004),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(743),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [744] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2005),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(744),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [745] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2006),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(745),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [746] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2009),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(746),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [747] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2011),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(747),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [748] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2013),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(748),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [749] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2017),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(749),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [750] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1755),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1755),
    [sym_operator_assignment] = STATE(1755),
    [sym_conditional] = STATE(1755),
    [sym_range] = STATE(1755),
    [sym_binary] = STATE(1755),
    [sym_unary] = STATE(1755),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(750),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [751] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1659),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1659),
    [sym_operator_assignment] = STATE(1659),
    [sym_conditional] = STATE(1659),
    [sym_range] = STATE(1659),
    [sym_binary] = STATE(1659),
    [sym_unary] = STATE(1659),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(751),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [752] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1733),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1733),
    [sym_operator_assignment] = STATE(1733),
    [sym_conditional] = STATE(1733),
    [sym_range] = STATE(1733),
    [sym_binary] = STATE(1733),
    [sym_unary] = STATE(1733),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(752),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [753] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1658),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1658),
    [sym_operator_assignment] = STATE(1658),
    [sym_conditional] = STATE(1658),
    [sym_range] = STATE(1658),
    [sym_binary] = STATE(1658),
    [sym_unary] = STATE(1658),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(753),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [754] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1716),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1716),
    [sym_operator_assignment] = STATE(1716),
    [sym_conditional] = STATE(1716),
    [sym_range] = STATE(1716),
    [sym_binary] = STATE(1716),
    [sym_unary] = STATE(1716),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(754),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [755] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1661),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1661),
    [sym_operator_assignment] = STATE(1661),
    [sym_conditional] = STATE(1661),
    [sym_range] = STATE(1661),
    [sym_binary] = STATE(1661),
    [sym_unary] = STATE(1661),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(755),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [756] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1638),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1638),
    [sym_operator_assignment] = STATE(1638),
    [sym_conditional] = STATE(1638),
    [sym_range] = STATE(1638),
    [sym_binary] = STATE(1638),
    [sym_unary] = STATE(1638),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(756),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [757] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1646),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1646),
    [sym_operator_assignment] = STATE(1646),
    [sym_conditional] = STATE(1646),
    [sym_range] = STATE(1646),
    [sym_binary] = STATE(1646),
    [sym_unary] = STATE(1646),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(757),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [758] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1796),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1796),
    [sym_operator_assignment] = STATE(1796),
    [sym_conditional] = STATE(1796),
    [sym_range] = STATE(1796),
    [sym_binary] = STATE(1796),
    [sym_unary] = STATE(1796),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(758),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [759] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1657),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1657),
    [sym_operator_assignment] = STATE(1657),
    [sym_conditional] = STATE(1657),
    [sym_range] = STATE(1657),
    [sym_binary] = STATE(1657),
    [sym_unary] = STATE(1657),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(759),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1255),
    [sym_float] = ACTIONS(1257),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [760] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2064),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(760),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [761] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1617),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1617),
    [sym_operator_assignment] = STATE(1617),
    [sym_conditional] = STATE(1617),
    [sym_range] = STATE(1617),
    [sym_binary] = STATE(1617),
    [sym_unary] = STATE(1617),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(761),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1255),
    [sym_float] = ACTIONS(1257),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [762] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1797),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1797),
    [sym_operator_assignment] = STATE(1797),
    [sym_conditional] = STATE(1797),
    [sym_range] = STATE(1797),
    [sym_binary] = STATE(1797),
    [sym_unary] = STATE(1797),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(762),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [763] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1710),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1710),
    [sym_operator_assignment] = STATE(1710),
    [sym_conditional] = STATE(1710),
    [sym_range] = STATE(1710),
    [sym_binary] = STATE(1710),
    [sym_unary] = STATE(1710),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(763),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [764] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1718),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1718),
    [sym_operator_assignment] = STATE(1718),
    [sym_conditional] = STATE(1718),
    [sym_range] = STATE(1718),
    [sym_binary] = STATE(1718),
    [sym_unary] = STATE(1718),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(764),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [765] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1719),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1719),
    [sym_operator_assignment] = STATE(1719),
    [sym_conditional] = STATE(1719),
    [sym_range] = STATE(1719),
    [sym_binary] = STATE(1719),
    [sym_unary] = STATE(1719),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(765),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [766] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1720),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1720),
    [sym_operator_assignment] = STATE(1720),
    [sym_conditional] = STATE(1720),
    [sym_range] = STATE(1720),
    [sym_binary] = STATE(1720),
    [sym_unary] = STATE(1720),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(766),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [767] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1722),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1722),
    [sym_operator_assignment] = STATE(1722),
    [sym_conditional] = STATE(1722),
    [sym_range] = STATE(1722),
    [sym_binary] = STATE(1722),
    [sym_unary] = STATE(1722),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(767),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [768] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1724),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1724),
    [sym_operator_assignment] = STATE(1724),
    [sym_conditional] = STATE(1724),
    [sym_range] = STATE(1724),
    [sym_binary] = STATE(1724),
    [sym_unary] = STATE(1724),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(768),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [769] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1725),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1725),
    [sym_operator_assignment] = STATE(1725),
    [sym_conditional] = STATE(1725),
    [sym_range] = STATE(1725),
    [sym_binary] = STATE(1725),
    [sym_unary] = STATE(1725),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(769),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [770] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1798),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1798),
    [sym_operator_assignment] = STATE(1798),
    [sym_conditional] = STATE(1798),
    [sym_range] = STATE(1798),
    [sym_binary] = STATE(1798),
    [sym_unary] = STATE(1798),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(770),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [771] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1726),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1726),
    [sym_operator_assignment] = STATE(1726),
    [sym_conditional] = STATE(1726),
    [sym_range] = STATE(1726),
    [sym_binary] = STATE(1726),
    [sym_unary] = STATE(1726),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(771),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [772] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1800),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1800),
    [sym_operator_assignment] = STATE(1800),
    [sym_conditional] = STATE(1800),
    [sym_range] = STATE(1800),
    [sym_binary] = STATE(1800),
    [sym_unary] = STATE(1800),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(772),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [773] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1727),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1727),
    [sym_operator_assignment] = STATE(1727),
    [sym_conditional] = STATE(1727),
    [sym_range] = STATE(1727),
    [sym_binary] = STATE(1727),
    [sym_unary] = STATE(1727),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(773),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [774] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1728),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1728),
    [sym_operator_assignment] = STATE(1728),
    [sym_conditional] = STATE(1728),
    [sym_range] = STATE(1728),
    [sym_binary] = STATE(1728),
    [sym_unary] = STATE(1728),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(774),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [775] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1729),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1729),
    [sym_operator_assignment] = STATE(1729),
    [sym_conditional] = STATE(1729),
    [sym_range] = STATE(1729),
    [sym_binary] = STATE(1729),
    [sym_unary] = STATE(1729),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(775),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [776] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1803),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1803),
    [sym_operator_assignment] = STATE(1803),
    [sym_conditional] = STATE(1803),
    [sym_range] = STATE(1803),
    [sym_binary] = STATE(1803),
    [sym_unary] = STATE(1803),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(776),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [777] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1715),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1715),
    [sym_operator_assignment] = STATE(1715),
    [sym_conditional] = STATE(1715),
    [sym_range] = STATE(1715),
    [sym_binary] = STATE(1715),
    [sym_unary] = STATE(1715),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(777),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [778] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2062),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(778),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [779] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1667),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1667),
    [sym_operator_assignment] = STATE(1667),
    [sym_conditional] = STATE(1667),
    [sym_range] = STATE(1667),
    [sym_binary] = STATE(1667),
    [sym_unary] = STATE(1667),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(779),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [780] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1645),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1645),
    [sym_operator_assignment] = STATE(1645),
    [sym_conditional] = STATE(1645),
    [sym_range] = STATE(1645),
    [sym_binary] = STATE(1645),
    [sym_unary] = STATE(1645),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(780),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [781] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1664),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1664),
    [sym_operator_assignment] = STATE(1664),
    [sym_conditional] = STATE(1664),
    [sym_range] = STATE(1664),
    [sym_binary] = STATE(1664),
    [sym_unary] = STATE(1664),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(781),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [782] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1662),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1662),
    [sym_operator_assignment] = STATE(1662),
    [sym_conditional] = STATE(1662),
    [sym_range] = STATE(1662),
    [sym_binary] = STATE(1662),
    [sym_unary] = STATE(1662),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(782),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [783] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1750),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1750),
    [sym_operator_assignment] = STATE(1750),
    [sym_conditional] = STATE(1750),
    [sym_range] = STATE(1750),
    [sym_binary] = STATE(1750),
    [sym_unary] = STATE(1750),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(783),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [784] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1804),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1804),
    [sym_operator_assignment] = STATE(1804),
    [sym_conditional] = STATE(1804),
    [sym_range] = STATE(1804),
    [sym_binary] = STATE(1804),
    [sym_unary] = STATE(1804),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(784),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [785] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1708),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1708),
    [sym_operator_assignment] = STATE(1708),
    [sym_conditional] = STATE(1708),
    [sym_range] = STATE(1708),
    [sym_binary] = STATE(1708),
    [sym_unary] = STATE(1708),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(785),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [786] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1595),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1595),
    [sym_operator_assignment] = STATE(1595),
    [sym_conditional] = STATE(1595),
    [sym_range] = STATE(1595),
    [sym_binary] = STATE(1595),
    [sym_unary] = STATE(1595),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(786),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [787] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1660),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1660),
    [sym_operator_assignment] = STATE(1660),
    [sym_conditional] = STATE(1660),
    [sym_range] = STATE(1660),
    [sym_binary] = STATE(1660),
    [sym_unary] = STATE(1660),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(787),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [788] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1736),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1736),
    [sym_operator_assignment] = STATE(1736),
    [sym_conditional] = STATE(1736),
    [sym_range] = STATE(1736),
    [sym_binary] = STATE(1736),
    [sym_unary] = STATE(1736),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(788),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [789] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1622),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1622),
    [sym_operator_assignment] = STATE(1622),
    [sym_conditional] = STATE(1622),
    [sym_range] = STATE(1622),
    [sym_binary] = STATE(1622),
    [sym_unary] = STATE(1622),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(789),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [790] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1616),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1616),
    [sym_operator_assignment] = STATE(1616),
    [sym_conditional] = STATE(1616),
    [sym_range] = STATE(1616),
    [sym_binary] = STATE(1616),
    [sym_unary] = STATE(1616),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(790),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [791] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1615),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1615),
    [sym_operator_assignment] = STATE(1615),
    [sym_conditional] = STATE(1615),
    [sym_range] = STATE(1615),
    [sym_binary] = STATE(1615),
    [sym_unary] = STATE(1615),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(791),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [792] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1643),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1643),
    [sym_operator_assignment] = STATE(1643),
    [sym_conditional] = STATE(1643),
    [sym_range] = STATE(1643),
    [sym_binary] = STATE(1643),
    [sym_unary] = STATE(1643),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(792),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [793] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1624),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1624),
    [sym_operator_assignment] = STATE(1624),
    [sym_conditional] = STATE(1624),
    [sym_range] = STATE(1624),
    [sym_binary] = STATE(1624),
    [sym_unary] = STATE(1624),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(793),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [794] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1642),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1642),
    [sym_operator_assignment] = STATE(1642),
    [sym_conditional] = STATE(1642),
    [sym_range] = STATE(1642),
    [sym_binary] = STATE(1642),
    [sym_unary] = STATE(1642),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(794),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [795] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1805),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1805),
    [sym_operator_assignment] = STATE(1805),
    [sym_conditional] = STATE(1805),
    [sym_range] = STATE(1805),
    [sym_binary] = STATE(1805),
    [sym_unary] = STATE(1805),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(795),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [796] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1631),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1631),
    [sym_operator_assignment] = STATE(1631),
    [sym_conditional] = STATE(1631),
    [sym_range] = STATE(1631),
    [sym_binary] = STATE(1631),
    [sym_unary] = STATE(1631),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(796),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [797] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1629),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1629),
    [sym_operator_assignment] = STATE(1629),
    [sym_conditional] = STATE(1629),
    [sym_range] = STATE(1629),
    [sym_binary] = STATE(1629),
    [sym_unary] = STATE(1629),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(797),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [798] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1591),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1591),
    [sym_operator_assignment] = STATE(1591),
    [sym_conditional] = STATE(1591),
    [sym_range] = STATE(1591),
    [sym_binary] = STATE(1591),
    [sym_unary] = STATE(1591),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(798),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [799] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1592),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1592),
    [sym_operator_assignment] = STATE(1592),
    [sym_conditional] = STATE(1592),
    [sym_range] = STATE(1592),
    [sym_binary] = STATE(1592),
    [sym_unary] = STATE(1592),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(799),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [800] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1596),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1596),
    [sym_operator_assignment] = STATE(1596),
    [sym_conditional] = STATE(1596),
    [sym_range] = STATE(1596),
    [sym_binary] = STATE(1596),
    [sym_unary] = STATE(1596),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(800),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [801] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1597),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1597),
    [sym_operator_assignment] = STATE(1597),
    [sym_conditional] = STATE(1597),
    [sym_range] = STATE(1597),
    [sym_binary] = STATE(1597),
    [sym_unary] = STATE(1597),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(801),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [802] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1598),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1598),
    [sym_operator_assignment] = STATE(1598),
    [sym_conditional] = STATE(1598),
    [sym_range] = STATE(1598),
    [sym_binary] = STATE(1598),
    [sym_unary] = STATE(1598),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(802),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [803] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1599),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1599),
    [sym_operator_assignment] = STATE(1599),
    [sym_conditional] = STATE(1599),
    [sym_range] = STATE(1599),
    [sym_binary] = STATE(1599),
    [sym_unary] = STATE(1599),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(803),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [804] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1619),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1619),
    [sym_operator_assignment] = STATE(1619),
    [sym_conditional] = STATE(1619),
    [sym_range] = STATE(1619),
    [sym_binary] = STATE(1619),
    [sym_unary] = STATE(1619),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(804),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [805] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1706),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1706),
    [sym_operator_assignment] = STATE(1706),
    [sym_conditional] = STATE(1706),
    [sym_range] = STATE(1706),
    [sym_binary] = STATE(1706),
    [sym_unary] = STATE(1706),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(805),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [806] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1669),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1669),
    [sym_operator_assignment] = STATE(1669),
    [sym_conditional] = STATE(1669),
    [sym_range] = STATE(1669),
    [sym_binary] = STATE(1669),
    [sym_unary] = STATE(1669),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(806),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [807] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1806),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1806),
    [sym_operator_assignment] = STATE(1806),
    [sym_conditional] = STATE(1806),
    [sym_range] = STATE(1806),
    [sym_binary] = STATE(1806),
    [sym_unary] = STATE(1806),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(807),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [808] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1807),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1807),
    [sym_operator_assignment] = STATE(1807),
    [sym_conditional] = STATE(1807),
    [sym_range] = STATE(1807),
    [sym_binary] = STATE(1807),
    [sym_unary] = STATE(1807),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(808),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [809] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1703),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1703),
    [sym_operator_assignment] = STATE(1703),
    [sym_conditional] = STATE(1703),
    [sym_range] = STATE(1703),
    [sym_binary] = STATE(1703),
    [sym_unary] = STATE(1703),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(809),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [810] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1650),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1650),
    [sym_operator_assignment] = STATE(1650),
    [sym_conditional] = STATE(1650),
    [sym_range] = STATE(1650),
    [sym_binary] = STATE(1650),
    [sym_unary] = STATE(1650),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(810),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [811] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2063),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(811),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [812] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1655),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1655),
    [sym_operator_assignment] = STATE(1655),
    [sym_conditional] = STATE(1655),
    [sym_range] = STATE(1655),
    [sym_binary] = STATE(1655),
    [sym_unary] = STATE(1655),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(812),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [813] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1638),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1638),
    [sym_operator_assignment] = STATE(1638),
    [sym_conditional] = STATE(1638),
    [sym_range] = STATE(1638),
    [sym_binary] = STATE(1638),
    [sym_unary] = STATE(1638),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(813),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [814] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1690),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1690),
    [sym_operator_assignment] = STATE(1690),
    [sym_conditional] = STATE(1690),
    [sym_range] = STATE(1690),
    [sym_binary] = STATE(1690),
    [sym_unary] = STATE(1690),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(814),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1255),
    [sym_float] = ACTIONS(1257),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [815] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1691),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1691),
    [sym_operator_assignment] = STATE(1691),
    [sym_conditional] = STATE(1691),
    [sym_range] = STATE(1691),
    [sym_binary] = STATE(1691),
    [sym_unary] = STATE(1691),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(815),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [816] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1638),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1638),
    [sym_operator_assignment] = STATE(1638),
    [sym_conditional] = STATE(1638),
    [sym_range] = STATE(1638),
    [sym_binary] = STATE(1638),
    [sym_unary] = STATE(1638),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(816),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [817] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1743),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1743),
    [sym_operator_assignment] = STATE(1743),
    [sym_conditional] = STATE(1743),
    [sym_range] = STATE(1743),
    [sym_binary] = STATE(1743),
    [sym_unary] = STATE(1743),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(817),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [818] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1692),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1692),
    [sym_operator_assignment] = STATE(1692),
    [sym_conditional] = STATE(1692),
    [sym_range] = STATE(1692),
    [sym_binary] = STATE(1692),
    [sym_unary] = STATE(1692),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(818),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [819] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1681),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1681),
    [sym_operator_assignment] = STATE(1681),
    [sym_conditional] = STATE(1681),
    [sym_range] = STATE(1681),
    [sym_binary] = STATE(1681),
    [sym_unary] = STATE(1681),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(819),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [820] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1809),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1809),
    [sym_operator_assignment] = STATE(1809),
    [sym_conditional] = STATE(1809),
    [sym_range] = STATE(1809),
    [sym_binary] = STATE(1809),
    [sym_unary] = STATE(1809),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(820),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [821] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1768),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1174),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1174),
    [sym_assignment] = STATE(1768),
    [sym_operator_assignment] = STATE(1768),
    [sym_conditional] = STATE(1768),
    [sym_range] = STATE(1768),
    [sym_binary] = STATE(1768),
    [sym_unary] = STATE(1768),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2953),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1174),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(821),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(743),
    [anon_sym_defined_QMARK] = ACTIONS(745),
    [anon_sym_not] = ACTIONS(747),
    [anon_sym_BANG] = ACTIONS(749),
    [anon_sym_TILDE] = ACTIONS(749),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1255),
    [sym_float] = ACTIONS(1257),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1253),
    [sym_false] = ACTIONS(1253),
    [sym_nil] = ACTIONS(1253),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(765),
  },
  [822] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1647),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1647),
    [sym_operator_assignment] = STATE(1647),
    [sym_conditional] = STATE(1647),
    [sym_range] = STATE(1647),
    [sym_binary] = STATE(1647),
    [sym_unary] = STATE(1647),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(822),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [823] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1834),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(823),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [824] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1638),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1638),
    [sym_operator_assignment] = STATE(1638),
    [sym_conditional] = STATE(1638),
    [sym_range] = STATE(1638),
    [sym_binary] = STATE(1638),
    [sym_unary] = STATE(1638),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(824),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [825] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1673),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1673),
    [sym_operator_assignment] = STATE(1673),
    [sym_conditional] = STATE(1673),
    [sym_range] = STATE(1673),
    [sym_binary] = STATE(1673),
    [sym_unary] = STATE(1673),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(825),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [826] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1833),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(872),
    [sym_call] = STATE(872),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2833),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1183),
    [sym__variable] = STATE(872),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(826),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1213),
    [anon_sym_defined_QMARK] = ACTIONS(1215),
    [anon_sym_not] = ACTIONS(1217),
    [anon_sym_BANG] = ACTIONS(1219),
    [anon_sym_TILDE] = ACTIONS(1219),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1225),
  },
  [827] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1651),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1651),
    [sym_operator_assignment] = STATE(1651),
    [sym_conditional] = STATE(1651),
    [sym_range] = STATE(1651),
    [sym_binary] = STATE(1651),
    [sym_unary] = STATE(1651),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(827),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [828] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2061),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(828),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [829] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1676),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1676),
    [sym_operator_assignment] = STATE(1676),
    [sym_conditional] = STATE(1676),
    [sym_range] = STATE(1676),
    [sym_binary] = STATE(1676),
    [sym_unary] = STATE(1676),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(829),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [830] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1652),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1652),
    [sym_operator_assignment] = STATE(1652),
    [sym_conditional] = STATE(1652),
    [sym_range] = STATE(1652),
    [sym_binary] = STATE(1652),
    [sym_unary] = STATE(1652),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(830),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [831] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1701),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1701),
    [sym_operator_assignment] = STATE(1701),
    [sym_conditional] = STATE(1701),
    [sym_range] = STATE(1701),
    [sym_binary] = STATE(1701),
    [sym_unary] = STATE(1701),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(831),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [832] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1677),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1677),
    [sym_operator_assignment] = STATE(1677),
    [sym_conditional] = STATE(1677),
    [sym_range] = STATE(1677),
    [sym_binary] = STATE(1677),
    [sym_unary] = STATE(1677),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(832),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [833] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1600),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(987),
    [sym_scope_resolution] = STATE(952),
    [sym_call] = STATE(952),
    [sym_method_call] = STATE(987),
    [sym_assignment] = STATE(1600),
    [sym_operator_assignment] = STATE(1600),
    [sym_conditional] = STATE(1600),
    [sym_range] = STATE(1600),
    [sym_binary] = STATE(1600),
    [sym_unary] = STATE(1600),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2923),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(987),
    [sym__variable] = STATE(952),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(833),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1027),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1025),
    [anon_sym_defined_QMARK] = ACTIONS(205),
    [anon_sym_not] = ACTIONS(207),
    [anon_sym_BANG] = ACTIONS(211),
    [anon_sym_TILDE] = ACTIONS(211),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1027),
    [sym_self] = ACTIONS(1027),
    [sym_true] = ACTIONS(221),
    [sym_false] = ACTIONS(221),
    [sym_nil] = ACTIONS(221),
    [sym_constant] = ACTIONS(1027),
    [sym_instance_variable] = ACTIONS(1029),
    [sym_class_variable] = ACTIONS(1029),
    [sym_global_variable] = ACTIONS(1029),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(247),
  },
  [834] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1730),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1730),
    [sym_operator_assignment] = STATE(1730),
    [sym_conditional] = STATE(1730),
    [sym_range] = STATE(1730),
    [sym_binary] = STATE(1730),
    [sym_unary] = STATE(1730),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(834),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1255),
    [sym_float] = ACTIONS(1257),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [835] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1654),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1654),
    [sym_operator_assignment] = STATE(1654),
    [sym_conditional] = STATE(1654),
    [sym_range] = STATE(1654),
    [sym_binary] = STATE(1654),
    [sym_unary] = STATE(1654),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(835),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [836] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1653),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1653),
    [sym_operator_assignment] = STATE(1653),
    [sym_conditional] = STATE(1653),
    [sym_range] = STATE(1653),
    [sym_binary] = STATE(1653),
    [sym_unary] = STATE(1653),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(836),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [837] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1696),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1696),
    [sym_operator_assignment] = STATE(1696),
    [sym_conditional] = STATE(1696),
    [sym_range] = STATE(1696),
    [sym_binary] = STATE(1696),
    [sym_unary] = STATE(1696),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(837),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [838] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1678),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1678),
    [sym_operator_assignment] = STATE(1678),
    [sym_conditional] = STATE(1678),
    [sym_range] = STATE(1678),
    [sym_binary] = STATE(1678),
    [sym_unary] = STATE(1678),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(838),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [839] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1638),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1638),
    [sym_operator_assignment] = STATE(1638),
    [sym_conditional] = STATE(1638),
    [sym_range] = STATE(1638),
    [sym_binary] = STATE(1638),
    [sym_unary] = STATE(1638),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(839),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [840] = {
    [sym_method] = STATE(1107),
    [sym_singleton_method] = STATE(1107),
    [sym_class] = STATE(1107),
    [sym_singleton_class] = STATE(1107),
    [sym_module] = STATE(1107),
    [sym_return] = STATE(1107),
    [sym_yield] = STATE(1107),
    [sym_break] = STATE(1107),
    [sym_next] = STATE(1107),
    [sym_redo] = STATE(1107),
    [sym_retry] = STATE(1107),
    [sym_while] = STATE(1107),
    [sym_until] = STATE(1107),
    [sym_for] = STATE(1107),
    [sym_case] = STATE(1107),
    [sym_if] = STATE(1107),
    [sym_unless] = STATE(1107),
    [sym_begin] = STATE(1107),
    [sym__arg] = STATE(1989),
    [sym__primary] = STATE(1178),
    [sym_parenthesized_statements] = STATE(1107),
    [sym_element_reference] = STATE(918),
    [sym_scope_resolution] = STATE(871),
    [sym_call] = STATE(871),
    [sym_method_call] = STATE(918),
    [sym_assignment] = STATE(1238),
    [sym_operator_assignment] = STATE(1238),
    [sym_conditional] = STATE(1238),
    [sym_range] = STATE(1238),
    [sym_binary] = STATE(1238),
    [sym_unary] = STATE(1238),
    [sym_parenthesized_unary] = STATE(1107),
    [sym_unary_literal] = STATE(1107),
    [sym_left_assignment_list] = STATE(2840),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1194),
    [sym__variable] = STATE(871),
    [sym_rational] = STATE(1107),
    [sym_chained_string] = STATE(1107),
    [sym_string] = STATE(984),
    [sym_subshell] = STATE(1107),
    [sym_string_array] = STATE(1107),
    [sym_symbol_array] = STATE(1107),
    [sym_symbol] = STATE(1107),
    [sym_regex] = STATE(1107),
    [sym_heredoc_body] = STATE(840),
    [sym_array] = STATE(1107),
    [sym_hash] = STATE(1107),
    [sym_lambda] = STATE(1107),
    [sym_identifier] = ACTIONS(1071),
    [anon_sym_LBRACE] = ACTIONS(15),
    [anon_sym_def] = ACTIONS(19),
    [anon_sym_LPAREN] = ACTIONS(21),
    [anon_sym_COLON_COLON] = ACTIONS(1073),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(29),
    [anon_sym_module] = ACTIONS(31),
    [anon_sym_return] = ACTIONS(117),
    [anon_sym_yield] = ACTIONS(119),
    [anon_sym_break] = ACTIONS(121),
    [anon_sym_next] = ACTIONS(123),
    [anon_sym_redo] = ACTIONS(41),
    [anon_sym_retry] = ACTIONS(43),
    [anon_sym_if] = ACTIONS(45),
    [anon_sym_unless] = ACTIONS(47),
    [anon_sym_while] = ACTIONS(49),
    [anon_sym_until] = ACTIONS(51),
    [anon_sym_for] = ACTIONS(53),
    [anon_sym_case] = ACTIONS(55),
    [anon_sym_begin] = ACTIONS(57),
    [anon_sym_PLUS] = ACTIONS(1113),
    [anon_sym_defined_QMARK] = ACTIONS(1115),
    [anon_sym_not] = ACTIONS(1117),
    [anon_sym_BANG] = ACTIONS(1119),
    [anon_sym_TILDE] = ACTIONS(1119),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(981),
    [sym_float] = ACTIONS(75),
    [sym_complex] = ACTIONS(77),
    [sym_super] = ACTIONS(1071),
    [sym_self] = ACTIONS(1071),
    [sym_true] = ACTIONS(79),
    [sym_false] = ACTIONS(79),
    [sym_nil] = ACTIONS(79),
    [sym_constant] = ACTIONS(1071),
    [sym_instance_variable] = ACTIONS(1083),
    [sym_class_variable] = ACTIONS(1083),
    [sym_global_variable] = ACTIONS(1083),
    [sym_character] = ACTIONS(77),
    [anon_sym_LBRACK2] = ACTIONS(83),
    [anon_sym_DASH_GT] = ACTIONS(85),
    [sym__simple_symbol] = ACTIONS(87),
    [sym__string_start] = ACTIONS(89),
    [sym__symbol_start] = ACTIONS(91),
    [sym__subshell_start] = ACTIONS(93),
    [sym__regex_start] = ACTIONS(95),
    [sym__string_array_start] = ACTIONS(97),
    [sym__symbol_array_start] = ACTIONS(99),
    [sym_heredoc_beginning] = ACTIONS(77),
    [sym__unary_minus] = ACTIONS(1121),
  },
  [841] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1689),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1689),
    [sym_operator_assignment] = STATE(1689),
    [sym_conditional] = STATE(1689),
    [sym_range] = STATE(1689),
    [sym_binary] = STATE(1689),
    [sym_unary] = STATE(1689),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(841),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [842] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2066),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2804),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1237),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1349),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(842),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1227),
    [anon_sym_defined_QMARK] = ACTIONS(1229),
    [anon_sym_not] = ACTIONS(1231),
    [anon_sym_BANG] = ACTIONS(1233),
    [anon_sym_TILDE] = ACTIONS(1233),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(881),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1235),
  },
  [843] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1688),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1688),
    [sym_operator_assignment] = STATE(1688),
    [sym_conditional] = STATE(1688),
    [sym_range] = STATE(1688),
    [sym_binary] = STATE(1688),
    [sym_unary] = STATE(1688),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(843),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [844] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1685),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1685),
    [sym_operator_assignment] = STATE(1685),
    [sym_conditional] = STATE(1685),
    [sym_range] = STATE(1685),
    [sym_binary] = STATE(1685),
    [sym_unary] = STATE(1685),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(844),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [845] = {
    [sym_method] = STATE(1461),
    [sym_singleton_method] = STATE(1461),
    [sym_class] = STATE(1461),
    [sym_singleton_class] = STATE(1461),
    [sym_module] = STATE(1461),
    [sym_return] = STATE(1461),
    [sym_yield] = STATE(1461),
    [sym_break] = STATE(1461),
    [sym_next] = STATE(1461),
    [sym_redo] = STATE(1461),
    [sym_retry] = STATE(1461),
    [sym_while] = STATE(1461),
    [sym_until] = STATE(1461),
    [sym_for] = STATE(1461),
    [sym_case] = STATE(1461),
    [sym_if] = STATE(1461),
    [sym_unless] = STATE(1461),
    [sym_begin] = STATE(1461),
    [sym__arg] = STATE(2065),
    [sym__primary] = STATE(1559),
    [sym_parenthesized_statements] = STATE(1461),
    [sym_element_reference] = STATE(1042),
    [sym_scope_resolution] = STATE(954),
    [sym_call] = STATE(954),
    [sym_method_call] = STATE(1042),
    [sym_assignment] = STATE(1632),
    [sym_operator_assignment] = STATE(1632),
    [sym_conditional] = STATE(1632),
    [sym_range] = STATE(1632),
    [sym_binary] = STATE(1632),
    [sym_unary] = STATE(1632),
    [sym_parenthesized_unary] = STATE(1461),
    [sym_unary_literal] = STATE(1461),
    [sym_left_assignment_list] = STATE(2782),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1220),
    [sym__variable] = STATE(954),
    [sym_rational] = STATE(1461),
    [sym_chained_string] = STATE(1461),
    [sym_string] = STATE(1620),
    [sym_subshell] = STATE(1461),
    [sym_string_array] = STATE(1461),
    [sym_symbol_array] = STATE(1461),
    [sym_symbol] = STATE(1461),
    [sym_regex] = STATE(1461),
    [sym_heredoc_body] = STATE(845),
    [sym_array] = STATE(1461),
    [sym_hash] = STATE(1461),
    [sym_lambda] = STATE(1461),
    [sym_identifier] = ACTIONS(1089),
    [anon_sym_LBRACE] = ACTIONS(815),
    [anon_sym_def] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(819),
    [anon_sym_COLON_COLON] = ACTIONS(1091),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(825),
    [anon_sym_module] = ACTIONS(827),
    [anon_sym_return] = ACTIONS(829),
    [anon_sym_yield] = ACTIONS(831),
    [anon_sym_break] = ACTIONS(833),
    [anon_sym_next] = ACTIONS(835),
    [anon_sym_redo] = ACTIONS(837),
    [anon_sym_retry] = ACTIONS(839),
    [anon_sym_if] = ACTIONS(841),
    [anon_sym_unless] = ACTIONS(843),
    [anon_sym_while] = ACTIONS(845),
    [anon_sym_until] = ACTIONS(847),
    [anon_sym_for] = ACTIONS(849),
    [anon_sym_case] = ACTIONS(851),
    [anon_sym_begin] = ACTIONS(853),
    [anon_sym_PLUS] = ACTIONS(1237),
    [anon_sym_defined_QMARK] = ACTIONS(1239),
    [anon_sym_not] = ACTIONS(1241),
    [anon_sym_BANG] = ACTIONS(1243),
    [anon_sym_TILDE] = ACTIONS(1243),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(863),
    [sym_float] = ACTIONS(865),
    [sym_complex] = ACTIONS(867),
    [sym_super] = ACTIONS(1089),
    [sym_self] = ACTIONS(1089),
    [sym_true] = ACTIONS(1101),
    [sym_false] = ACTIONS(1101),
    [sym_nil] = ACTIONS(1101),
    [sym_constant] = ACTIONS(1089),
    [sym_instance_variable] = ACTIONS(1103),
    [sym_class_variable] = ACTIONS(1103),
    [sym_global_variable] = ACTIONS(1103),
    [sym_character] = ACTIONS(867),
    [anon_sym_LBRACK2] = ACTIONS(875),
    [anon_sym_DASH_GT] = ACTIONS(877),
    [sym__simple_symbol] = ACTIONS(879),
    [sym__string_start] = ACTIONS(1105),
    [sym__symbol_start] = ACTIONS(883),
    [sym__subshell_start] = ACTIONS(885),
    [sym__regex_start] = ACTIONS(887),
    [sym__string_array_start] = ACTIONS(889),
    [sym__symbol_array_start] = ACTIONS(891),
    [sym_heredoc_beginning] = ACTIONS(867),
    [sym__unary_minus] = ACTIONS(1245),
  },
  [846] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1723),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1723),
    [sym_operator_assignment] = STATE(1723),
    [sym_conditional] = STATE(1723),
    [sym_range] = STATE(1723),
    [sym_binary] = STATE(1723),
    [sym_unary] = STATE(1723),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(846),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [847] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1717),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1487),
    [sym_element_reference] = STATE(1094),
    [sym_scope_resolution] = STATE(956),
    [sym_call] = STATE(956),
    [sym_method_call] = STATE(1094),
    [sym_assignment] = STATE(1717),
    [sym_operator_assignment] = STATE(1717),
    [sym_conditional] = STATE(1717),
    [sym_range] = STATE(1717),
    [sym_binary] = STATE(1717),
    [sym_unary] = STATE(1717),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2960),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1094),
    [sym__variable] = STATE(956),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(847),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1203),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(919),
    [anon_sym_defined_QMARK] = ACTIONS(921),
    [anon_sym_not] = ACTIONS(923),
    [anon_sym_BANG] = ACTIONS(925),
    [anon_sym_TILDE] = ACTIONS(925),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1203),
    [sym_self] = ACTIONS(1203),
    [sym_true] = ACTIONS(1205),
    [sym_false] = ACTIONS(1205),
    [sym_nil] = ACTIONS(1205),
    [sym_constant] = ACTIONS(1203),
    [sym_instance_variable] = ACTIONS(1207),
    [sym_class_variable] = ACTIONS(1207),
    [sym_global_variable] = ACTIONS(1207),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(929),
  },
  [848] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1680),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1680),
    [sym_operator_assignment] = STATE(1680),
    [sym_conditional] = STATE(1680),
    [sym_range] = STATE(1680),
    [sym_binary] = STATE(1680),
    [sym_unary] = STATE(1680),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(848),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [849] = {
    [sym_method] = STATE(1548),
    [sym_singleton_method] = STATE(1548),
    [sym_class] = STATE(1548),
    [sym_singleton_class] = STATE(1548),
    [sym_module] = STATE(1548),
    [sym_return] = STATE(1548),
    [sym_yield] = STATE(1548),
    [sym_break] = STATE(1548),
    [sym_next] = STATE(1548),
    [sym_redo] = STATE(1548),
    [sym_retry] = STATE(1548),
    [sym_while] = STATE(1548),
    [sym_until] = STATE(1548),
    [sym_for] = STATE(1548),
    [sym_case] = STATE(1548),
    [sym_if] = STATE(1548),
    [sym_unless] = STATE(1548),
    [sym_begin] = STATE(1548),
    [sym__arg] = STATE(1679),
    [sym__primary] = STATE(1548),
    [sym_parenthesized_statements] = STATE(1548),
    [sym_element_reference] = STATE(1041),
    [sym_scope_resolution] = STATE(953),
    [sym_call] = STATE(953),
    [sym_method_call] = STATE(1041),
    [sym_assignment] = STATE(1679),
    [sym_operator_assignment] = STATE(1679),
    [sym_conditional] = STATE(1679),
    [sym_range] = STATE(1679),
    [sym_binary] = STATE(1679),
    [sym_unary] = STATE(1679),
    [sym_parenthesized_unary] = STATE(1548),
    [sym_unary_literal] = STATE(1548),
    [sym_left_assignment_list] = STATE(2937),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1041),
    [sym__variable] = STATE(953),
    [sym_rational] = STATE(1548),
    [sym_chained_string] = STATE(1548),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1548),
    [sym_string_array] = STATE(1548),
    [sym_symbol_array] = STATE(1548),
    [sym_symbol] = STATE(1548),
    [sym_regex] = STATE(1548),
    [sym_heredoc_body] = STATE(849),
    [sym_array] = STATE(1548),
    [sym_hash] = STATE(1548),
    [sym_lambda] = STATE(1548),
    [sym_identifier] = ACTIONS(1017),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1007),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1011),
    [anon_sym_defined_QMARK] = ACTIONS(303),
    [anon_sym_not] = ACTIONS(305),
    [anon_sym_BANG] = ACTIONS(309),
    [anon_sym_TILDE] = ACTIONS(309),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1013),
    [sym_complex] = ACTIONS(1015),
    [sym_super] = ACTIONS(1017),
    [sym_self] = ACTIONS(1017),
    [sym_true] = ACTIONS(313),
    [sym_false] = ACTIONS(313),
    [sym_nil] = ACTIONS(313),
    [sym_constant] = ACTIONS(1017),
    [sym_instance_variable] = ACTIONS(1019),
    [sym_class_variable] = ACTIONS(1019),
    [sym_global_variable] = ACTIONS(1019),
    [sym_character] = ACTIONS(1015),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1015),
    [sym__unary_minus] = ACTIONS(321),
  },
  [850] = {
    [sym_method] = STATE(1558),
    [sym_singleton_method] = STATE(1558),
    [sym_class] = STATE(1558),
    [sym_singleton_class] = STATE(1558),
    [sym_module] = STATE(1558),
    [sym_return] = STATE(1558),
    [sym_yield] = STATE(1558),
    [sym_break] = STATE(1558),
    [sym_next] = STATE(1558),
    [sym_redo] = STATE(1558),
    [sym_retry] = STATE(1558),
    [sym_while] = STATE(1558),
    [sym_until] = STATE(1558),
    [sym_for] = STATE(1558),
    [sym_case] = STATE(1558),
    [sym_if] = STATE(1558),
    [sym_unless] = STATE(1558),
    [sym_begin] = STATE(1558),
    [sym__arg] = STATE(1641),
    [sym__primary] = STATE(1558),
    [sym_parenthesized_statements] = STATE(1558),
    [sym_element_reference] = STATE(1025),
    [sym_scope_resolution] = STATE(955),
    [sym_call] = STATE(955),
    [sym_method_call] = STATE(1025),
    [sym_assignment] = STATE(1641),
    [sym_operator_assignment] = STATE(1641),
    [sym_conditional] = STATE(1641),
    [sym_range] = STATE(1641),
    [sym_binary] = STATE(1641),
    [sym_unary] = STATE(1641),
    [sym_parenthesized_unary] = STATE(1558),
    [sym_unary_literal] = STATE(1558),
    [sym_left_assignment_list] = STATE(2925),
    [sym__mlhs] = STATE(2862),
    [sym_destructured_left_assignment] = STATE(2614),
    [sym_rest_assignment] = STATE(2614),
    [sym__lhs] = STATE(1025),
    [sym__variable] = STATE(955),
    [sym_rational] = STATE(1558),
    [sym_chained_string] = STATE(1558),
    [sym_string] = STATE(1337),
    [sym_subshell] = STATE(1558),
    [sym_string_array] = STATE(1558),
    [sym_symbol_array] = STATE(1558),
    [sym_symbol] = STATE(1558),
    [sym_regex] = STATE(1558),
    [sym_heredoc_body] = STATE(850),
    [sym_array] = STATE(1558),
    [sym_hash] = STATE(1558),
    [sym_lambda] = STATE(1558),
    [sym_identifier] = ACTIONS(1181),
    [anon_sym_LBRACE] = ACTIONS(299),
    [anon_sym_def] = ACTIONS(173),
    [anon_sym_LPAREN] = ACTIONS(723),
    [anon_sym_COLON_COLON] = ACTIONS(1183),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(179),
    [anon_sym_module] = ACTIONS(181),
    [anon_sym_return] = ACTIONS(183),
    [anon_sym_yield] = ACTIONS(185),
    [anon_sym_break] = ACTIONS(187),
    [anon_sym_next] = ACTIONS(189),
    [anon_sym_redo] = ACTIONS(191),
    [anon_sym_retry] = ACTIONS(193),
    [anon_sym_if] = ACTIONS(735),
    [anon_sym_unless] = ACTIONS(737),
    [anon_sym_while] = ACTIONS(739),
    [anon_sym_until] = ACTIONS(741),
    [anon_sym_for] = ACTIONS(195),
    [anon_sym_case] = ACTIONS(199),
    [anon_sym_begin] = ACTIONS(201),
    [anon_sym_PLUS] = ACTIONS(1185),
    [anon_sym_defined_QMARK] = ACTIONS(1187),
    [anon_sym_not] = ACTIONS(1189),
    [anon_sym_BANG] = ACTIONS(1191),
    [anon_sym_TILDE] = ACTIONS(1191),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(213),
    [sym_float] = ACTIONS(1193),
    [sym_complex] = ACTIONS(1195),
    [sym_super] = ACTIONS(1181),
    [sym_self] = ACTIONS(1181),
    [sym_true] = ACTIONS(1197),
    [sym_false] = ACTIONS(1197),
    [sym_nil] = ACTIONS(1197),
    [sym_constant] = ACTIONS(1181),
    [sym_instance_variable] = ACTIONS(1199),
    [sym_class_variable] = ACTIONS(1199),
    [sym_global_variable] = ACTIONS(1199),
    [sym_character] = ACTIONS(1195),
    [anon_sym_LBRACK2] = ACTIONS(763),
    [anon_sym_DASH_GT] = ACTIONS(227),
    [sym__simple_symbol] = ACTIONS(229),
    [sym__string_start] = ACTIONS(231),
    [sym__symbol_start] = ACTIONS(233),
    [sym__subshell_start] = ACTIONS(235),
    [sym__regex_start] = ACTIONS(237),
    [sym__string_array_start] = ACTIONS(239),
    [sym__symbol_array_start] = ACTIONS(241),
    [sym_heredoc_beginning] = ACTIONS(1195),
    [sym__unary_minus] = ACTIONS(1201),
  },
  [851] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2695),
    [sym_rest_assignment] = STATE(2695),
    [sym__lhs] = STATE(2346),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(851),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_RPAREN] = ACTIONS(1267),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_EQ] = ACTIONS(1267),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [852] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2695),
    [sym_rest_assignment] = STATE(2695),
    [sym__lhs] = STATE(2346),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(852),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_RPAREN] = ACTIONS(1337),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_EQ] = ACTIONS(1337),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [853] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2244),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(853),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_RPAREN] = ACTIONS(1341),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_COMMA] = ACTIONS(1341),
    [anon_sym_EQ] = ACTIONS(1341),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_in] = ACTIONS(1343),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(3),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [854] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2535),
    [sym_rest_assignment] = STATE(2535),
    [sym__lhs] = STATE(2265),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(854),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [855] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2750),
    [sym_rest_assignment] = STATE(2750),
    [sym__lhs] = STATE(2396),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(855),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [856] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2625),
    [sym_rest_assignment] = STATE(2625),
    [sym__lhs] = STATE(2289),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(856),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [857] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2695),
    [sym_rest_assignment] = STATE(2695),
    [sym__lhs] = STATE(2346),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(857),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [858] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2551),
    [sym_rest_assignment] = STATE(2551),
    [sym__lhs] = STATE(2292),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(858),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [859] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2599),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2143),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym_destructured_left_assignment] = STATE(2670),
    [sym_rest_assignment] = STATE(2670),
    [sym__lhs] = STATE(2367),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(859),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1265),
    [anon_sym_COLON_COLON] = ACTIONS(1269),
    [anon_sym_STAR] = ACTIONS(27),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1259),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [860] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2132),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(860),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1347),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1349),
  },
  [861] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2134),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(861),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1351),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1353),
  },
  [862] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2133),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(862),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1355),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1357),
  },
  [863] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2145),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(863),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1359),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [864] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2554),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2302),
    [sym_scope_resolution] = STATE(2153),
    [sym_call] = STATE(2153),
    [sym_method_call] = STATE(2302),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2335),
    [sym__variable] = STATE(2153),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(864),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1361),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1361),
    [sym_self] = ACTIONS(1361),
    [sym_true] = ACTIONS(1363),
    [sym_false] = ACTIONS(1363),
    [sym_nil] = ACTIONS(1363),
    [sym_constant] = ACTIONS(1361),
    [sym_instance_variable] = ACTIONS(1365),
    [sym_class_variable] = ACTIONS(1365),
    [sym_global_variable] = ACTIONS(1365),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [865] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2142),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(865),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1367),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
    [sym__singleton_class_left_angle_left_langle] = ACTIONS(1369),
  },
  [866] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2144),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(866),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1371),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [867] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2141),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(867),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1373),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [868] = {
    [sym_method] = STATE(2648),
    [sym_singleton_method] = STATE(2648),
    [sym_class] = STATE(2648),
    [sym_singleton_class] = STATE(2648),
    [sym_module] = STATE(2648),
    [sym_return] = STATE(2648),
    [sym_yield] = STATE(2648),
    [sym_break] = STATE(2648),
    [sym_next] = STATE(2648),
    [sym_redo] = STATE(2648),
    [sym_retry] = STATE(2648),
    [sym_while] = STATE(2648),
    [sym_until] = STATE(2648),
    [sym_for] = STATE(2648),
    [sym_case] = STATE(2648),
    [sym_if] = STATE(2648),
    [sym_unless] = STATE(2648),
    [sym_begin] = STATE(2648),
    [sym__primary] = STATE(2595),
    [sym_parenthesized_statements] = STATE(2648),
    [sym_element_reference] = STATE(2283),
    [sym_scope_resolution] = STATE(2154),
    [sym_call] = STATE(2143),
    [sym_method_call] = STATE(2283),
    [sym_parenthesized_unary] = STATE(2648),
    [sym_unary_literal] = STATE(2648),
    [sym__lhs] = STATE(2648),
    [sym__variable] = STATE(2143),
    [sym_rational] = STATE(2648),
    [sym_chained_string] = STATE(2648),
    [sym_string] = STATE(2350),
    [sym_subshell] = STATE(2648),
    [sym_string_array] = STATE(2648),
    [sym_symbol_array] = STATE(2648),
    [sym_symbol] = STATE(2648),
    [sym_regex] = STATE(2648),
    [sym_heredoc_body] = STATE(868),
    [sym_array] = STATE(2648),
    [sym_hash] = STATE(2648),
    [sym_lambda] = STATE(2648),
    [sym_identifier] = ACTIONS(1259),
    [anon_sym_LBRACE] = ACTIONS(1261),
    [anon_sym_def] = ACTIONS(1263),
    [anon_sym_LPAREN] = ACTIONS(1339),
    [anon_sym_COLON_COLON] = ACTIONS(1345),
    [anon_sym_class] = ACTIONS(1271),
    [anon_sym_module] = ACTIONS(1273),
    [anon_sym_return] = ACTIONS(1275),
    [anon_sym_yield] = ACTIONS(1277),
    [anon_sym_break] = ACTIONS(1279),
    [anon_sym_next] = ACTIONS(1281),
    [anon_sym_redo] = ACTIONS(1283),
    [anon_sym_retry] = ACTIONS(1285),
    [anon_sym_if] = ACTIONS(1287),
    [anon_sym_unless] = ACTIONS(1289),
    [anon_sym_while] = ACTIONS(1291),
    [anon_sym_until] = ACTIONS(1293),
    [anon_sym_for] = ACTIONS(1295),
    [anon_sym_case] = ACTIONS(1297),
    [anon_sym_begin] = ACTIONS(1299),
    [anon_sym_PLUS] = ACTIONS(1301),
    [anon_sym_defined_QMARK] = ACTIONS(1303),
    [anon_sym_not] = ACTIONS(1305),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1307),
    [sym_float] = ACTIONS(1309),
    [sym_complex] = ACTIONS(1311),
    [sym_super] = ACTIONS(1259),
    [sym_self] = ACTIONS(1259),
    [sym_true] = ACTIONS(1313),
    [sym_false] = ACTIONS(1313),
    [sym_nil] = ACTIONS(1313),
    [sym_constant] = ACTIONS(1375),
    [sym_instance_variable] = ACTIONS(1315),
    [sym_class_variable] = ACTIONS(1315),
    [sym_global_variable] = ACTIONS(1315),
    [sym_character] = ACTIONS(1311),
    [anon_sym_LBRACK2] = ACTIONS(1317),
    [anon_sym_DASH_GT] = ACTIONS(1319),
    [sym__simple_symbol] = ACTIONS(1321),
    [sym__string_start] = ACTIONS(1323),
    [sym__symbol_start] = ACTIONS(1325),
    [sym__subshell_start] = ACTIONS(1327),
    [sym__regex_start] = ACTIONS(1329),
    [sym__string_array_start] = ACTIONS(1331),
    [sym__symbol_array_start] = ACTIONS(1333),
    [sym_heredoc_beginning] = ACTIONS(1311),
    [sym__unary_minus] = ACTIONS(1335),
  },
  [869] = {
    [sym_argument_list] = STATE(873),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_heredoc_body] = STATE(869),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(1377),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(1379),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [870] = {
    [sym_argument_list] = STATE(874),
    [sym_do_block] = STATE(908),
    [sym_block] = STATE(909),
    [sym_heredoc_body] = STATE(870),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(1377),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(107),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(125),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [871] = {
    [sym_argument_list] = STATE(879),
    [sym_do_block] = STATE(932),
    [sym_block] = STATE(923),
    [sym_heredoc_body] = STATE(871),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(1381),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(1383),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(159),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [872] = {
    [sym_argument_list] = STATE(881),
    [sym_do_block] = STATE(932),
    [sym_block] = STATE(923),
    [sym_heredoc_body] = STATE(872),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(1381),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(107),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_LPAREN2] = ACTIONS(159),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [873] = {
    [sym_do_block] = STATE(912),
    [sym_block] = STATE(914),
    [sym_heredoc_body] = STATE(873),
    [ts_builtin_sym_end] = ACTIONS(1385),
    [anon_sym___END__] = ACTIONS(1385),
    [anon_sym_LBRACE] = ACTIONS(1377),
    [anon_sym_RBRACE] = ACTIONS(1385),
    [anon_sym_RPAREN] = ACTIONS(1385),
    [anon_sym_DOT] = ACTIONS(1387),
    [anon_sym_COMMA] = ACTIONS(1385),
    [anon_sym_PIPE] = ACTIONS(1387),
    [anon_sym_SEMI] = ACTIONS(1385),
    [anon_sym_STAR_STAR] = ACTIONS(1387),
    [anon_sym_AMP] = ACTIONS(1387),
    [anon_sym_EQ] = ACTIONS(1387),
    [anon_sym_LT] = ACTIONS(1387),
    [anon_sym_end] = ACTIONS(1385),
    [anon_sym_if] = ACTIONS(1385),
    [anon_sym_unless] = ACTIONS(1385),
    [anon_sym_while] = ACTIONS(1385),
    [anon_sym_until] = ACTIONS(1385),
    [anon_sym_rescue] = ACTIONS(1385),
    [anon_sym_do] = ACTIONS(1379),
    [anon_sym_when] = ACTIONS(1385),
    [anon_sym_elsif] = ACTIONS(1385),
    [anon_sym_else] = ACTIONS(1385),
    [anon_sym_then] = ACTIONS(1385),
    [anon_sym_ensure] = ACTIONS(1385),
    [anon_sym_EQ_GT] = ACTIONS(1385),
    [anon_sym_LBRACK] = ACTIONS(1385),
    [anon_sym_COLON_COLON2] = ACTIONS(1385),
    [anon_sym_AMP_DOT] = ACTIONS(1385),
    [anon_sym_PLUS_EQ] = ACTIONS(1385),
    [anon_sym_DASH_EQ] = ACTIONS(1385),
    [anon_sym_STAR_EQ] = ACTIONS(1385),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1385),
    [anon_sym_SLASH_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1385),
    [anon_sym_AMP_EQ] = ACTIONS(1385),
    [anon_sym_PERCENT_EQ] = ACTIONS(1385),
    [anon_sym_GT_GT_EQ] = ACTIONS(1385),
    [anon_sym_LT_LT_EQ] = ACTIONS(1385),
    [anon_sym_CARET_EQ] = ACTIONS(1385),
    [anon_sym_QMARK] = ACTIONS(1385),
    [anon_sym_DOT_DOT] = ACTIONS(1387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1385),
    [anon_sym_and] = ACTIONS(1385),
    [anon_sym_or] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE] = ACTIONS(1387),
    [anon_sym_AMP_AMP] = ACTIONS(1387),
    [anon_sym_LT_LT] = ACTIONS(1387),
    [anon_sym_GT_GT] = ACTIONS(1387),
    [anon_sym_LT_EQ] = ACTIONS(1387),
    [anon_sym_GT] = ACTIONS(1387),
    [anon_sym_GT_EQ] = ACTIONS(1385),
    [anon_sym_CARET] = ACTIONS(1387),
    [anon_sym_PLUS] = ACTIONS(1387),
    [anon_sym_SLASH] = ACTIONS(1387),
    [anon_sym_PERCENT] = ACTIONS(1387),
    [anon_sym_EQ_EQ] = ACTIONS(1387),
    [anon_sym_BANG_EQ] = ACTIONS(1385),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1385),
    [anon_sym_LT_EQ_GT] = ACTIONS(1385),
    [anon_sym_EQ_TILDE] = ACTIONS(1385),
    [anon_sym_BANG_TILDE] = ACTIONS(1385),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1385),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1385),
    [sym__binary_star] = ACTIONS(1385),
  },
  [874] = {
    [sym_do_block] = STATE(912),
    [sym_block] = STATE(914),
    [sym_heredoc_body] = STATE(874),
    [ts_builtin_sym_end] = ACTIONS(1385),
    [anon_sym___END__] = ACTIONS(1385),
    [anon_sym_LBRACE] = ACTIONS(1377),
    [anon_sym_RBRACE] = ACTIONS(1385),
    [anon_sym_RPAREN] = ACTIONS(1385),
    [anon_sym_DOT] = ACTIONS(1387),
    [anon_sym_COMMA] = ACTIONS(1385),
    [anon_sym_PIPE] = ACTIONS(1387),
    [anon_sym_SEMI] = ACTIONS(1385),
    [anon_sym_STAR_STAR] = ACTIONS(1387),
    [anon_sym_AMP] = ACTIONS(1387),
    [anon_sym_EQ] = ACTIONS(1387),
    [anon_sym_LT] = ACTIONS(1387),
    [anon_sym_end] = ACTIONS(1385),
    [anon_sym_if] = ACTIONS(1385),
    [anon_sym_unless] = ACTIONS(1385),
    [anon_sym_while] = ACTIONS(1385),
    [anon_sym_until] = ACTIONS(1385),
    [anon_sym_rescue] = ACTIONS(1385),
    [anon_sym_do] = ACTIONS(1385),
    [anon_sym_when] = ACTIONS(1385),
    [anon_sym_elsif] = ACTIONS(1385),
    [anon_sym_else] = ACTIONS(1385),
    [anon_sym_then] = ACTIONS(1385),
    [anon_sym_ensure] = ACTIONS(1385),
    [anon_sym_EQ_GT] = ACTIONS(1385),
    [anon_sym_LBRACK] = ACTIONS(1385),
    [anon_sym_COLON_COLON2] = ACTIONS(1385),
    [anon_sym_AMP_DOT] = ACTIONS(1385),
    [anon_sym_PLUS_EQ] = ACTIONS(1385),
    [anon_sym_DASH_EQ] = ACTIONS(1385),
    [anon_sym_STAR_EQ] = ACTIONS(1385),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1385),
    [anon_sym_SLASH_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1385),
    [anon_sym_AMP_EQ] = ACTIONS(1385),
    [anon_sym_PERCENT_EQ] = ACTIONS(1385),
    [anon_sym_GT_GT_EQ] = ACTIONS(1385),
    [anon_sym_LT_LT_EQ] = ACTIONS(1385),
    [anon_sym_CARET_EQ] = ACTIONS(1385),
    [anon_sym_QMARK] = ACTIONS(1385),
    [anon_sym_DOT_DOT] = ACTIONS(1387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1385),
    [anon_sym_and] = ACTIONS(1385),
    [anon_sym_or] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE] = ACTIONS(1387),
    [anon_sym_AMP_AMP] = ACTIONS(1387),
    [anon_sym_LT_LT] = ACTIONS(1387),
    [anon_sym_GT_GT] = ACTIONS(1387),
    [anon_sym_LT_EQ] = ACTIONS(1387),
    [anon_sym_GT] = ACTIONS(1387),
    [anon_sym_GT_EQ] = ACTIONS(1385),
    [anon_sym_CARET] = ACTIONS(1387),
    [anon_sym_PLUS] = ACTIONS(1387),
    [anon_sym_SLASH] = ACTIONS(1387),
    [anon_sym_PERCENT] = ACTIONS(1387),
    [anon_sym_EQ_EQ] = ACTIONS(1387),
    [anon_sym_BANG_EQ] = ACTIONS(1385),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1385),
    [anon_sym_LT_EQ_GT] = ACTIONS(1385),
    [anon_sym_EQ_TILDE] = ACTIONS(1385),
    [anon_sym_BANG_TILDE] = ACTIONS(1385),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1385),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1385),
    [sym__binary_star] = ACTIONS(1385),
  },
  [875] = {
    [sym_heredoc_body] = STATE(875),
    [ts_builtin_sym_end] = ACTIONS(769),
    [anon_sym___END__] = ACTIONS(769),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(771),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(769),
    [anon_sym_if] = ACTIONS(769),
    [anon_sym_unless] = ACTIONS(769),
    [anon_sym_while] = ACTIONS(769),
    [anon_sym_until] = ACTIONS(769),
    [anon_sym_rescue] = ACTIONS(769),
    [anon_sym_do] = ACTIONS(769),
    [anon_sym_when] = ACTIONS(769),
    [anon_sym_elsif] = ACTIONS(769),
    [anon_sym_else] = ACTIONS(769),
    [anon_sym_then] = ACTIONS(769),
    [anon_sym_ensure] = ACTIONS(769),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(769),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(769),
    [anon_sym_or] = ACTIONS(769),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
  },
  [876] = {
    [sym_heredoc_body] = STATE(876),
    [ts_builtin_sym_end] = ACTIONS(769),
    [anon_sym___END__] = ACTIONS(769),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_COLON] = ACTIONS(773),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(769),
    [anon_sym_if] = ACTIONS(769),
    [anon_sym_unless] = ACTIONS(769),
    [anon_sym_while] = ACTIONS(769),
    [anon_sym_until] = ACTIONS(769),
    [anon_sym_rescue] = ACTIONS(769),
    [anon_sym_do] = ACTIONS(769),
    [anon_sym_when] = ACTIONS(769),
    [anon_sym_elsif] = ACTIONS(769),
    [anon_sym_else] = ACTIONS(769),
    [anon_sym_then] = ACTIONS(769),
    [anon_sym_ensure] = ACTIONS(769),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(769),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(769),
    [anon_sym_or] = ACTIONS(769),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
  },
  [877] = {
    [sym_heredoc_body] = STATE(877),
    [ts_builtin_sym_end] = ACTIONS(797),
    [anon_sym___END__] = ACTIONS(797),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_RPAREN] = ACTIONS(797),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_end] = ACTIONS(797),
    [anon_sym_if] = ACTIONS(797),
    [anon_sym_unless] = ACTIONS(797),
    [anon_sym_while] = ACTIONS(797),
    [anon_sym_until] = ACTIONS(797),
    [anon_sym_rescue] = ACTIONS(797),
    [anon_sym_do] = ACTIONS(797),
    [anon_sym_when] = ACTIONS(797),
    [anon_sym_elsif] = ACTIONS(797),
    [anon_sym_else] = ACTIONS(797),
    [anon_sym_then] = ACTIONS(797),
    [anon_sym_ensure] = ACTIONS(797),
    [anon_sym_EQ_GT] = ACTIONS(797),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(797),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(797),
    [anon_sym_or] = ACTIONS(797),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
  },
  [878] = {
    [sym_heredoc_body] = STATE(878),
    [ts_builtin_sym_end] = ACTIONS(777),
    [anon_sym___END__] = ACTIONS(777),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_RPAREN] = ACTIONS(777),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_end] = ACTIONS(777),
    [anon_sym_if] = ACTIONS(777),
    [anon_sym_unless] = ACTIONS(777),
    [anon_sym_while] = ACTIONS(777),
    [anon_sym_until] = ACTIONS(777),
    [anon_sym_rescue] = ACTIONS(777),
    [anon_sym_do] = ACTIONS(777),
    [anon_sym_when] = ACTIONS(777),
    [anon_sym_elsif] = ACTIONS(777),
    [anon_sym_else] = ACTIONS(777),
    [anon_sym_then] = ACTIONS(777),
    [anon_sym_ensure] = ACTIONS(777),
    [anon_sym_EQ_GT] = ACTIONS(777),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(777),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(777),
    [anon_sym_or] = ACTIONS(777),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
  },
  [879] = {
    [sym_do_block] = STATE(925),
    [sym_block] = STATE(920),
    [sym_heredoc_body] = STATE(879),
    [ts_builtin_sym_end] = ACTIONS(1385),
    [anon_sym___END__] = ACTIONS(1385),
    [anon_sym_LBRACE] = ACTIONS(1381),
    [anon_sym_RBRACE] = ACTIONS(1385),
    [anon_sym_RPAREN] = ACTIONS(1385),
    [anon_sym_DOT] = ACTIONS(1387),
    [anon_sym_COMMA] = ACTIONS(1385),
    [anon_sym_PIPE] = ACTIONS(1387),
    [anon_sym_SEMI] = ACTIONS(1385),
    [anon_sym_STAR_STAR] = ACTIONS(1387),
    [anon_sym_AMP] = ACTIONS(1387),
    [anon_sym_EQ] = ACTIONS(1387),
    [anon_sym_LT] = ACTIONS(1387),
    [anon_sym_end] = ACTIONS(1385),
    [anon_sym_if] = ACTIONS(1385),
    [anon_sym_unless] = ACTIONS(1385),
    [anon_sym_while] = ACTIONS(1385),
    [anon_sym_until] = ACTIONS(1385),
    [anon_sym_rescue] = ACTIONS(1385),
    [anon_sym_do] = ACTIONS(1383),
    [anon_sym_when] = ACTIONS(1385),
    [anon_sym_elsif] = ACTIONS(1385),
    [anon_sym_else] = ACTIONS(1385),
    [anon_sym_then] = ACTIONS(1385),
    [anon_sym_ensure] = ACTIONS(1385),
    [anon_sym_LBRACK] = ACTIONS(1385),
    [anon_sym_COLON_COLON2] = ACTIONS(1385),
    [anon_sym_AMP_DOT] = ACTIONS(1385),
    [anon_sym_PLUS_EQ] = ACTIONS(1385),
    [anon_sym_DASH_EQ] = ACTIONS(1385),
    [anon_sym_STAR_EQ] = ACTIONS(1385),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1385),
    [anon_sym_SLASH_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1385),
    [anon_sym_AMP_EQ] = ACTIONS(1385),
    [anon_sym_PERCENT_EQ] = ACTIONS(1385),
    [anon_sym_GT_GT_EQ] = ACTIONS(1385),
    [anon_sym_LT_LT_EQ] = ACTIONS(1385),
    [anon_sym_CARET_EQ] = ACTIONS(1385),
    [anon_sym_QMARK] = ACTIONS(1385),
    [anon_sym_DOT_DOT] = ACTIONS(1387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1385),
    [anon_sym_and] = ACTIONS(1385),
    [anon_sym_or] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE] = ACTIONS(1387),
    [anon_sym_AMP_AMP] = ACTIONS(1387),
    [anon_sym_LT_LT] = ACTIONS(1387),
    [anon_sym_GT_GT] = ACTIONS(1387),
    [anon_sym_LT_EQ] = ACTIONS(1387),
    [anon_sym_GT] = ACTIONS(1387),
    [anon_sym_GT_EQ] = ACTIONS(1385),
    [anon_sym_CARET] = ACTIONS(1387),
    [anon_sym_PLUS] = ACTIONS(1387),
    [anon_sym_SLASH] = ACTIONS(1387),
    [anon_sym_PERCENT] = ACTIONS(1387),
    [anon_sym_EQ_EQ] = ACTIONS(1387),
    [anon_sym_BANG_EQ] = ACTIONS(1385),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1385),
    [anon_sym_LT_EQ_GT] = ACTIONS(1385),
    [anon_sym_EQ_TILDE] = ACTIONS(1385),
    [anon_sym_BANG_TILDE] = ACTIONS(1385),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1385),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1385),
    [sym__binary_star] = ACTIONS(1385),
  },
  [880] = {
    [sym_heredoc_body] = STATE(880),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [ts_builtin_sym_end] = ACTIONS(1389),
    [anon_sym___END__] = ACTIONS(1389),
    [anon_sym_LBRACE] = ACTIONS(1389),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1389),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1393),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_do] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_EQ_GT] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1395),
    [anon_sym_DASH_EQ] = ACTIONS(1395),
    [anon_sym_STAR_EQ] = ACTIONS(1395),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1395),
    [anon_sym_SLASH_EQ] = ACTIONS(1395),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1395),
    [anon_sym_PIPE_EQ] = ACTIONS(1395),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1395),
    [anon_sym_AMP_EQ] = ACTIONS(1395),
    [anon_sym_PERCENT_EQ] = ACTIONS(1395),
    [anon_sym_GT_GT_EQ] = ACTIONS(1395),
    [anon_sym_LT_LT_EQ] = ACTIONS(1395),
    [anon_sym_CARET_EQ] = ACTIONS(1395),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [881] = {
    [sym_do_block] = STATE(925),
    [sym_block] = STATE(920),
    [sym_heredoc_body] = STATE(881),
    [ts_builtin_sym_end] = ACTIONS(1385),
    [anon_sym___END__] = ACTIONS(1385),
    [anon_sym_LBRACE] = ACTIONS(1381),
    [anon_sym_RBRACE] = ACTIONS(1385),
    [anon_sym_RPAREN] = ACTIONS(1385),
    [anon_sym_DOT] = ACTIONS(1387),
    [anon_sym_COMMA] = ACTIONS(1385),
    [anon_sym_PIPE] = ACTIONS(1387),
    [anon_sym_SEMI] = ACTIONS(1385),
    [anon_sym_STAR_STAR] = ACTIONS(1387),
    [anon_sym_AMP] = ACTIONS(1387),
    [anon_sym_EQ] = ACTIONS(1387),
    [anon_sym_LT] = ACTIONS(1387),
    [anon_sym_end] = ACTIONS(1385),
    [anon_sym_if] = ACTIONS(1385),
    [anon_sym_unless] = ACTIONS(1385),
    [anon_sym_while] = ACTIONS(1385),
    [anon_sym_until] = ACTIONS(1385),
    [anon_sym_rescue] = ACTIONS(1385),
    [anon_sym_do] = ACTIONS(1385),
    [anon_sym_when] = ACTIONS(1385),
    [anon_sym_elsif] = ACTIONS(1385),
    [anon_sym_else] = ACTIONS(1385),
    [anon_sym_then] = ACTIONS(1385),
    [anon_sym_ensure] = ACTIONS(1385),
    [anon_sym_LBRACK] = ACTIONS(1385),
    [anon_sym_COLON_COLON2] = ACTIONS(1385),
    [anon_sym_AMP_DOT] = ACTIONS(1385),
    [anon_sym_PLUS_EQ] = ACTIONS(1385),
    [anon_sym_DASH_EQ] = ACTIONS(1385),
    [anon_sym_STAR_EQ] = ACTIONS(1385),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1385),
    [anon_sym_SLASH_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_PIPE_EQ] = ACTIONS(1385),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1385),
    [anon_sym_AMP_EQ] = ACTIONS(1385),
    [anon_sym_PERCENT_EQ] = ACTIONS(1385),
    [anon_sym_GT_GT_EQ] = ACTIONS(1385),
    [anon_sym_LT_LT_EQ] = ACTIONS(1385),
    [anon_sym_CARET_EQ] = ACTIONS(1385),
    [anon_sym_QMARK] = ACTIONS(1385),
    [anon_sym_DOT_DOT] = ACTIONS(1387),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1385),
    [anon_sym_and] = ACTIONS(1385),
    [anon_sym_or] = ACTIONS(1385),
    [anon_sym_PIPE_PIPE] = ACTIONS(1387),
    [anon_sym_AMP_AMP] = ACTIONS(1387),
    [anon_sym_LT_LT] = ACTIONS(1387),
    [anon_sym_GT_GT] = ACTIONS(1387),
    [anon_sym_LT_EQ] = ACTIONS(1387),
    [anon_sym_GT] = ACTIONS(1387),
    [anon_sym_GT_EQ] = ACTIONS(1385),
    [anon_sym_CARET] = ACTIONS(1387),
    [anon_sym_PLUS] = ACTIONS(1387),
    [anon_sym_SLASH] = ACTIONS(1387),
    [anon_sym_PERCENT] = ACTIONS(1387),
    [anon_sym_EQ_EQ] = ACTIONS(1387),
    [anon_sym_BANG_EQ] = ACTIONS(1385),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1385),
    [anon_sym_LT_EQ_GT] = ACTIONS(1385),
    [anon_sym_EQ_TILDE] = ACTIONS(1385),
    [anon_sym_BANG_TILDE] = ACTIONS(1385),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1385),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1385),
    [sym__binary_star] = ACTIONS(1385),
  },
  [882] = {
    [sym_heredoc_body] = STATE(882),
    [ts_builtin_sym_end] = ACTIONS(789),
    [anon_sym___END__] = ACTIONS(789),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_RPAREN] = ACTIONS(789),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_end] = ACTIONS(789),
    [anon_sym_if] = ACTIONS(789),
    [anon_sym_unless] = ACTIONS(789),
    [anon_sym_while] = ACTIONS(789),
    [anon_sym_until] = ACTIONS(789),
    [anon_sym_rescue] = ACTIONS(789),
    [anon_sym_do] = ACTIONS(789),
    [anon_sym_when] = ACTIONS(789),
    [anon_sym_elsif] = ACTIONS(789),
    [anon_sym_else] = ACTIONS(789),
    [anon_sym_then] = ACTIONS(789),
    [anon_sym_ensure] = ACTIONS(789),
    [anon_sym_EQ_GT] = ACTIONS(789),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(789),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(789),
    [anon_sym_or] = ACTIONS(789),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
  },
  [883] = {
    [sym_heredoc_body] = STATE(883),
    [ts_builtin_sym_end] = ACTIONS(769),
    [anon_sym___END__] = ACTIONS(769),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(769),
    [anon_sym_if] = ACTIONS(769),
    [anon_sym_unless] = ACTIONS(769),
    [anon_sym_while] = ACTIONS(769),
    [anon_sym_until] = ACTIONS(769),
    [anon_sym_rescue] = ACTIONS(769),
    [anon_sym_do] = ACTIONS(769),
    [anon_sym_when] = ACTIONS(769),
    [anon_sym_elsif] = ACTIONS(769),
    [anon_sym_else] = ACTIONS(769),
    [anon_sym_then] = ACTIONS(769),
    [anon_sym_ensure] = ACTIONS(769),
    [anon_sym_EQ_GT] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(769),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(769),
    [anon_sym_or] = ACTIONS(769),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
  },
  [884] = {
    [sym_heredoc_body] = STATE(884),
    [ts_builtin_sym_end] = ACTIONS(781),
    [anon_sym___END__] = ACTIONS(781),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_RPAREN] = ACTIONS(781),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_end] = ACTIONS(781),
    [anon_sym_if] = ACTIONS(781),
    [anon_sym_unless] = ACTIONS(781),
    [anon_sym_while] = ACTIONS(781),
    [anon_sym_until] = ACTIONS(781),
    [anon_sym_rescue] = ACTIONS(781),
    [anon_sym_do] = ACTIONS(781),
    [anon_sym_when] = ACTIONS(781),
    [anon_sym_elsif] = ACTIONS(781),
    [anon_sym_else] = ACTIONS(781),
    [anon_sym_then] = ACTIONS(781),
    [anon_sym_ensure] = ACTIONS(781),
    [anon_sym_EQ_GT] = ACTIONS(781),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(781),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(781),
    [anon_sym_or] = ACTIONS(781),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
  },
  [885] = {
    [sym_heredoc_body] = STATE(885),
    [ts_builtin_sym_end] = ACTIONS(793),
    [anon_sym___END__] = ACTIONS(793),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_RPAREN] = ACTIONS(793),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_end] = ACTIONS(793),
    [anon_sym_if] = ACTIONS(793),
    [anon_sym_unless] = ACTIONS(793),
    [anon_sym_while] = ACTIONS(793),
    [anon_sym_until] = ACTIONS(793),
    [anon_sym_rescue] = ACTIONS(793),
    [anon_sym_do] = ACTIONS(793),
    [anon_sym_when] = ACTIONS(793),
    [anon_sym_elsif] = ACTIONS(793),
    [anon_sym_else] = ACTIONS(793),
    [anon_sym_then] = ACTIONS(793),
    [anon_sym_ensure] = ACTIONS(793),
    [anon_sym_EQ_GT] = ACTIONS(793),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(793),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(793),
    [anon_sym_or] = ACTIONS(793),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
  },
  [886] = {
    [sym_heredoc_body] = STATE(886),
    [ts_builtin_sym_end] = ACTIONS(785),
    [anon_sym___END__] = ACTIONS(785),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_RPAREN] = ACTIONS(785),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_end] = ACTIONS(785),
    [anon_sym_if] = ACTIONS(785),
    [anon_sym_unless] = ACTIONS(785),
    [anon_sym_while] = ACTIONS(785),
    [anon_sym_until] = ACTIONS(785),
    [anon_sym_rescue] = ACTIONS(785),
    [anon_sym_do] = ACTIONS(785),
    [anon_sym_when] = ACTIONS(785),
    [anon_sym_elsif] = ACTIONS(785),
    [anon_sym_else] = ACTIONS(785),
    [anon_sym_then] = ACTIONS(785),
    [anon_sym_ensure] = ACTIONS(785),
    [anon_sym_EQ_GT] = ACTIONS(785),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(785),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(785),
    [anon_sym_or] = ACTIONS(785),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
  },
  [887] = {
    [sym_heredoc_body] = STATE(887),
    [ts_builtin_sym_end] = ACTIONS(769),
    [anon_sym___END__] = ACTIONS(769),
    [anon_sym_LBRACE] = ACTIONS(769),
    [anon_sym_RBRACE] = ACTIONS(769),
    [anon_sym_RPAREN] = ACTIONS(769),
    [anon_sym_DOT] = ACTIONS(767),
    [anon_sym_COMMA] = ACTIONS(769),
    [anon_sym_PIPE] = ACTIONS(767),
    [anon_sym_SEMI] = ACTIONS(769),
    [anon_sym_STAR_STAR] = ACTIONS(767),
    [anon_sym_AMP] = ACTIONS(767),
    [anon_sym_EQ] = ACTIONS(767),
    [anon_sym_LT] = ACTIONS(767),
    [anon_sym_end] = ACTIONS(769),
    [anon_sym_if] = ACTIONS(769),
    [anon_sym_unless] = ACTIONS(769),
    [anon_sym_while] = ACTIONS(769),
    [anon_sym_until] = ACTIONS(769),
    [anon_sym_rescue] = ACTIONS(769),
    [anon_sym_do] = ACTIONS(769),
    [anon_sym_when] = ACTIONS(769),
    [anon_sym_elsif] = ACTIONS(769),
    [anon_sym_else] = ACTIONS(769),
    [anon_sym_then] = ACTIONS(769),
    [anon_sym_ensure] = ACTIONS(769),
    [anon_sym_LBRACK] = ACTIONS(769),
    [anon_sym_COLON_COLON2] = ACTIONS(769),
    [anon_sym_AMP_DOT] = ACTIONS(769),
    [anon_sym_LPAREN2] = ACTIONS(769),
    [anon_sym_PLUS_EQ] = ACTIONS(769),
    [anon_sym_DASH_EQ] = ACTIONS(769),
    [anon_sym_STAR_EQ] = ACTIONS(769),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(769),
    [anon_sym_SLASH_EQ] = ACTIONS(769),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(769),
    [anon_sym_PIPE_EQ] = ACTIONS(769),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(769),
    [anon_sym_AMP_EQ] = ACTIONS(769),
    [anon_sym_PERCENT_EQ] = ACTIONS(769),
    [anon_sym_GT_GT_EQ] = ACTIONS(769),
    [anon_sym_LT_LT_EQ] = ACTIONS(769),
    [anon_sym_CARET_EQ] = ACTIONS(769),
    [anon_sym_QMARK] = ACTIONS(769),
    [anon_sym_DOT_DOT] = ACTIONS(767),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(769),
    [anon_sym_and] = ACTIONS(769),
    [anon_sym_or] = ACTIONS(769),
    [anon_sym_PIPE_PIPE] = ACTIONS(767),
    [anon_sym_AMP_AMP] = ACTIONS(767),
    [anon_sym_LT_LT] = ACTIONS(767),
    [anon_sym_GT_GT] = ACTIONS(767),
    [anon_sym_LT_EQ] = ACTIONS(767),
    [anon_sym_GT] = ACTIONS(767),
    [anon_sym_GT_EQ] = ACTIONS(769),
    [anon_sym_CARET] = ACTIONS(767),
    [anon_sym_PLUS] = ACTIONS(767),
    [anon_sym_SLASH] = ACTIONS(767),
    [anon_sym_PERCENT] = ACTIONS(767),
    [anon_sym_EQ_EQ] = ACTIONS(767),
    [anon_sym_BANG_EQ] = ACTIONS(769),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(769),
    [anon_sym_LT_EQ_GT] = ACTIONS(769),
    [anon_sym_EQ_TILDE] = ACTIONS(769),
    [anon_sym_BANG_TILDE] = ACTIONS(769),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(769),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(769),
    [sym__binary_star] = ACTIONS(769),
  },
  [888] = {
    [sym_heredoc_body] = STATE(888),
    [ts_builtin_sym_end] = ACTIONS(785),
    [anon_sym___END__] = ACTIONS(785),
    [anon_sym_LBRACE] = ACTIONS(785),
    [anon_sym_RBRACE] = ACTIONS(785),
    [anon_sym_RPAREN] = ACTIONS(785),
    [anon_sym_DOT] = ACTIONS(783),
    [anon_sym_COMMA] = ACTIONS(785),
    [anon_sym_PIPE] = ACTIONS(783),
    [anon_sym_SEMI] = ACTIONS(785),
    [anon_sym_STAR_STAR] = ACTIONS(783),
    [anon_sym_AMP] = ACTIONS(783),
    [anon_sym_EQ] = ACTIONS(783),
    [anon_sym_LT] = ACTIONS(783),
    [anon_sym_end] = ACTIONS(785),
    [anon_sym_if] = ACTIONS(785),
    [anon_sym_unless] = ACTIONS(785),
    [anon_sym_while] = ACTIONS(785),
    [anon_sym_until] = ACTIONS(785),
    [anon_sym_rescue] = ACTIONS(785),
    [anon_sym_do] = ACTIONS(785),
    [anon_sym_when] = ACTIONS(785),
    [anon_sym_elsif] = ACTIONS(785),
    [anon_sym_else] = ACTIONS(785),
    [anon_sym_then] = ACTIONS(785),
    [anon_sym_ensure] = ACTIONS(785),
    [anon_sym_LBRACK] = ACTIONS(785),
    [anon_sym_COLON_COLON2] = ACTIONS(785),
    [anon_sym_AMP_DOT] = ACTIONS(785),
    [anon_sym_LPAREN2] = ACTIONS(785),
    [anon_sym_PLUS_EQ] = ACTIONS(785),
    [anon_sym_DASH_EQ] = ACTIONS(785),
    [anon_sym_STAR_EQ] = ACTIONS(785),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(785),
    [anon_sym_SLASH_EQ] = ACTIONS(785),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(785),
    [anon_sym_PIPE_EQ] = ACTIONS(785),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(785),
    [anon_sym_AMP_EQ] = ACTIONS(785),
    [anon_sym_PERCENT_EQ] = ACTIONS(785),
    [anon_sym_GT_GT_EQ] = ACTIONS(785),
    [anon_sym_LT_LT_EQ] = ACTIONS(785),
    [anon_sym_CARET_EQ] = ACTIONS(785),
    [anon_sym_QMARK] = ACTIONS(785),
    [anon_sym_DOT_DOT] = ACTIONS(783),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(785),
    [anon_sym_and] = ACTIONS(785),
    [anon_sym_or] = ACTIONS(785),
    [anon_sym_PIPE_PIPE] = ACTIONS(783),
    [anon_sym_AMP_AMP] = ACTIONS(783),
    [anon_sym_LT_LT] = ACTIONS(783),
    [anon_sym_GT_GT] = ACTIONS(783),
    [anon_sym_LT_EQ] = ACTIONS(783),
    [anon_sym_GT] = ACTIONS(783),
    [anon_sym_GT_EQ] = ACTIONS(785),
    [anon_sym_CARET] = ACTIONS(783),
    [anon_sym_PLUS] = ACTIONS(783),
    [anon_sym_SLASH] = ACTIONS(783),
    [anon_sym_PERCENT] = ACTIONS(783),
    [anon_sym_EQ_EQ] = ACTIONS(783),
    [anon_sym_BANG_EQ] = ACTIONS(785),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(785),
    [anon_sym_LT_EQ_GT] = ACTIONS(785),
    [anon_sym_EQ_TILDE] = ACTIONS(785),
    [anon_sym_BANG_TILDE] = ACTIONS(785),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(785),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(785),
    [sym__binary_star] = ACTIONS(785),
  },
  [889] = {
    [sym_heredoc_body] = STATE(889),
    [ts_builtin_sym_end] = ACTIONS(1397),
    [anon_sym___END__] = ACTIONS(1397),
    [anon_sym_LBRACE] = ACTIONS(1397),
    [anon_sym_RBRACE] = ACTIONS(1397),
    [anon_sym_RPAREN] = ACTIONS(1397),
    [anon_sym_DOT] = ACTIONS(1399),
    [anon_sym_COMMA] = ACTIONS(1397),
    [anon_sym_PIPE] = ACTIONS(1399),
    [anon_sym_SEMI] = ACTIONS(1397),
    [anon_sym_STAR_STAR] = ACTIONS(1399),
    [anon_sym_AMP] = ACTIONS(1399),
    [anon_sym_EQ] = ACTIONS(1399),
    [anon_sym_LT] = ACTIONS(1399),
    [anon_sym_end] = ACTIONS(1397),
    [anon_sym_if] = ACTIONS(1397),
    [anon_sym_unless] = ACTIONS(1397),
    [anon_sym_while] = ACTIONS(1397),
    [anon_sym_until] = ACTIONS(1397),
    [anon_sym_rescue] = ACTIONS(1397),
    [anon_sym_do] = ACTIONS(1397),
    [anon_sym_when] = ACTIONS(1397),
    [anon_sym_elsif] = ACTIONS(1397),
    [anon_sym_else] = ACTIONS(1397),
    [anon_sym_then] = ACTIONS(1397),
    [anon_sym_ensure] = ACTIONS(1397),
    [anon_sym_EQ_GT] = ACTIONS(1397),
    [anon_sym_LBRACK] = ACTIONS(1397),
    [anon_sym_COLON_COLON2] = ACTIONS(1397),
    [anon_sym_AMP_DOT] = ACTIONS(1397),
    [anon_sym_PLUS_EQ] = ACTIONS(1397),
    [anon_sym_DASH_EQ] = ACTIONS(1397),
    [anon_sym_STAR_EQ] = ACTIONS(1397),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1397),
    [anon_sym_SLASH_EQ] = ACTIONS(1397),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1397),
    [anon_sym_PIPE_EQ] = ACTIONS(1397),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1397),
    [anon_sym_AMP_EQ] = ACTIONS(1397),
    [anon_sym_PERCENT_EQ] = ACTIONS(1397),
    [anon_sym_GT_GT_EQ] = ACTIONS(1397),
    [anon_sym_LT_LT_EQ] = ACTIONS(1397),
    [anon_sym_CARET_EQ] = ACTIONS(1397),
    [anon_sym_QMARK] = ACTIONS(1397),
    [anon_sym_DOT_DOT] = ACTIONS(1399),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1397),
    [anon_sym_and] = ACTIONS(1397),
    [anon_sym_or] = ACTIONS(1397),
    [anon_sym_PIPE_PIPE] = ACTIONS(1399),
    [anon_sym_AMP_AMP] = ACTIONS(1399),
    [anon_sym_LT_LT] = ACTIONS(1399),
    [anon_sym_GT_GT] = ACTIONS(1399),
    [anon_sym_LT_EQ] = ACTIONS(1399),
    [anon_sym_GT] = ACTIONS(1399),
    [anon_sym_GT_EQ] = ACTIONS(1397),
    [anon_sym_CARET] = ACTIONS(1399),
    [anon_sym_PLUS] = ACTIONS(1399),
    [anon_sym_SLASH] = ACTIONS(1399),
    [anon_sym_PERCENT] = ACTIONS(1399),
    [anon_sym_EQ_EQ] = ACTIONS(1399),
    [anon_sym_BANG_EQ] = ACTIONS(1397),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1397),
    [anon_sym_LT_EQ_GT] = ACTIONS(1397),
    [anon_sym_EQ_TILDE] = ACTIONS(1397),
    [anon_sym_BANG_TILDE] = ACTIONS(1397),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1397),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1397),
    [sym__binary_star] = ACTIONS(1397),
  },
  [890] = {
    [sym_heredoc_body] = STATE(890),
    [ts_builtin_sym_end] = ACTIONS(1401),
    [anon_sym___END__] = ACTIONS(1401),
    [anon_sym_LBRACE] = ACTIONS(1401),
    [anon_sym_RBRACE] = ACTIONS(1401),
    [anon_sym_RPAREN] = ACTIONS(1401),
    [anon_sym_DOT] = ACTIONS(1403),
    [anon_sym_COMMA] = ACTIONS(1401),
    [anon_sym_PIPE] = ACTIONS(1403),
    [anon_sym_SEMI] = ACTIONS(1401),
    [anon_sym_STAR_STAR] = ACTIONS(1403),
    [anon_sym_AMP] = ACTIONS(1403),
    [anon_sym_EQ] = ACTIONS(1403),
    [anon_sym_LT] = ACTIONS(1403),
    [anon_sym_end] = ACTIONS(1401),
    [anon_sym_if] = ACTIONS(1401),
    [anon_sym_unless] = ACTIONS(1401),
    [anon_sym_while] = ACTIONS(1401),
    [anon_sym_until] = ACTIONS(1401),
    [anon_sym_rescue] = ACTIONS(1401),
    [anon_sym_do] = ACTIONS(1401),
    [anon_sym_when] = ACTIONS(1401),
    [anon_sym_elsif] = ACTIONS(1401),
    [anon_sym_else] = ACTIONS(1401),
    [anon_sym_then] = ACTIONS(1401),
    [anon_sym_ensure] = ACTIONS(1401),
    [anon_sym_EQ_GT] = ACTIONS(1401),
    [anon_sym_LBRACK] = ACTIONS(1401),
    [anon_sym_COLON_COLON2] = ACTIONS(1401),
    [anon_sym_AMP_DOT] = ACTIONS(1401),
    [anon_sym_PLUS_EQ] = ACTIONS(1401),
    [anon_sym_DASH_EQ] = ACTIONS(1401),
    [anon_sym_STAR_EQ] = ACTIONS(1401),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1401),
    [anon_sym_SLASH_EQ] = ACTIONS(1401),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1401),
    [anon_sym_PIPE_EQ] = ACTIONS(1401),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1401),
    [anon_sym_AMP_EQ] = ACTIONS(1401),
    [anon_sym_PERCENT_EQ] = ACTIONS(1401),
    [anon_sym_GT_GT_EQ] = ACTIONS(1401),
    [anon_sym_LT_LT_EQ] = ACTIONS(1401),
    [anon_sym_CARET_EQ] = ACTIONS(1401),
    [anon_sym_QMARK] = ACTIONS(1401),
    [anon_sym_DOT_DOT] = ACTIONS(1403),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1401),
    [anon_sym_and] = ACTIONS(1401),
    [anon_sym_or] = ACTIONS(1401),
    [anon_sym_PIPE_PIPE] = ACTIONS(1403),
    [anon_sym_AMP_AMP] = ACTIONS(1403),
    [anon_sym_LT_LT] = ACTIONS(1403),
    [anon_sym_GT_GT] = ACTIONS(1403),
    [anon_sym_LT_EQ] = ACTIONS(1403),
    [anon_sym_GT] = ACTIONS(1403),
    [anon_sym_GT_EQ] = ACTIONS(1401),
    [anon_sym_CARET] = ACTIONS(1403),
    [anon_sym_PLUS] = ACTIONS(1403),
    [anon_sym_SLASH] = ACTIONS(1403),
    [anon_sym_PERCENT] = ACTIONS(1403),
    [anon_sym_EQ_EQ] = ACTIONS(1403),
    [anon_sym_BANG_EQ] = ACTIONS(1401),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1401),
    [anon_sym_LT_EQ_GT] = ACTIONS(1401),
    [anon_sym_EQ_TILDE] = ACTIONS(1401),
    [anon_sym_BANG_TILDE] = ACTIONS(1401),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1401),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1401),
    [sym__binary_star] = ACTIONS(1401),
  },
  [891] = {
    [sym_heredoc_body] = STATE(891),
    [ts_builtin_sym_end] = ACTIONS(1405),
    [anon_sym___END__] = ACTIONS(1405),
    [anon_sym_LBRACE] = ACTIONS(1405),
    [anon_sym_RBRACE] = ACTIONS(1405),
    [anon_sym_RPAREN] = ACTIONS(1405),
    [anon_sym_DOT] = ACTIONS(1407),
    [anon_sym_COMMA] = ACTIONS(1405),
    [anon_sym_PIPE] = ACTIONS(1407),
    [anon_sym_SEMI] = ACTIONS(1405),
    [anon_sym_STAR_STAR] = ACTIONS(1407),
    [anon_sym_AMP] = ACTIONS(1407),
    [anon_sym_EQ] = ACTIONS(1407),
    [anon_sym_LT] = ACTIONS(1407),
    [anon_sym_end] = ACTIONS(1405),
    [anon_sym_if] = ACTIONS(1405),
    [anon_sym_unless] = ACTIONS(1405),
    [anon_sym_while] = ACTIONS(1405),
    [anon_sym_until] = ACTIONS(1405),
    [anon_sym_rescue] = ACTIONS(1405),
    [anon_sym_do] = ACTIONS(1405),
    [anon_sym_when] = ACTIONS(1405),
    [anon_sym_elsif] = ACTIONS(1405),
    [anon_sym_else] = ACTIONS(1405),
    [anon_sym_then] = ACTIONS(1405),
    [anon_sym_ensure] = ACTIONS(1405),
    [anon_sym_EQ_GT] = ACTIONS(1405),
    [anon_sym_LBRACK] = ACTIONS(1405),
    [anon_sym_COLON_COLON2] = ACTIONS(1405),
    [anon_sym_AMP_DOT] = ACTIONS(1405),
    [anon_sym_PLUS_EQ] = ACTIONS(1405),
    [anon_sym_DASH_EQ] = ACTIONS(1405),
    [anon_sym_STAR_EQ] = ACTIONS(1405),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1405),
    [anon_sym_SLASH_EQ] = ACTIONS(1405),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1405),
    [anon_sym_PIPE_EQ] = ACTIONS(1405),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1405),
    [anon_sym_AMP_EQ] = ACTIONS(1405),
    [anon_sym_PERCENT_EQ] = ACTIONS(1405),
    [anon_sym_GT_GT_EQ] = ACTIONS(1405),
    [anon_sym_LT_LT_EQ] = ACTIONS(1405),
    [anon_sym_CARET_EQ] = ACTIONS(1405),
    [anon_sym_QMARK] = ACTIONS(1405),
    [anon_sym_DOT_DOT] = ACTIONS(1407),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1405),
    [anon_sym_and] = ACTIONS(1405),
    [anon_sym_or] = ACTIONS(1405),
    [anon_sym_PIPE_PIPE] = ACTIONS(1407),
    [anon_sym_AMP_AMP] = ACTIONS(1407),
    [anon_sym_LT_LT] = ACTIONS(1407),
    [anon_sym_GT_GT] = ACTIONS(1407),
    [anon_sym_LT_EQ] = ACTIONS(1407),
    [anon_sym_GT] = ACTIONS(1407),
    [anon_sym_GT_EQ] = ACTIONS(1405),
    [anon_sym_CARET] = ACTIONS(1407),
    [anon_sym_PLUS] = ACTIONS(1407),
    [anon_sym_SLASH] = ACTIONS(1407),
    [anon_sym_PERCENT] = ACTIONS(1407),
    [anon_sym_EQ_EQ] = ACTIONS(1407),
    [anon_sym_BANG_EQ] = ACTIONS(1405),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1405),
    [anon_sym_LT_EQ_GT] = ACTIONS(1405),
    [anon_sym_EQ_TILDE] = ACTIONS(1405),
    [anon_sym_BANG_TILDE] = ACTIONS(1405),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1405),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1405),
    [sym__binary_star] = ACTIONS(1405),
  },
  [892] = {
    [sym_heredoc_body] = STATE(892),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [ts_builtin_sym_end] = ACTIONS(1389),
    [anon_sym___END__] = ACTIONS(1389),
    [anon_sym_LBRACE] = ACTIONS(1389),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1389),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1409),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_do] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1411),
    [anon_sym_DASH_EQ] = ACTIONS(1411),
    [anon_sym_STAR_EQ] = ACTIONS(1411),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1411),
    [anon_sym_SLASH_EQ] = ACTIONS(1411),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1411),
    [anon_sym_PIPE_EQ] = ACTIONS(1411),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1411),
    [anon_sym_AMP_EQ] = ACTIONS(1411),
    [anon_sym_PERCENT_EQ] = ACTIONS(1411),
    [anon_sym_GT_GT_EQ] = ACTIONS(1411),
    [anon_sym_LT_LT_EQ] = ACTIONS(1411),
    [anon_sym_CARET_EQ] = ACTIONS(1411),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [893] = {
    [sym_heredoc_body] = STATE(893),
    [ts_builtin_sym_end] = ACTIONS(1413),
    [anon_sym___END__] = ACTIONS(1413),
    [anon_sym_LBRACE] = ACTIONS(1415),
    [anon_sym_RBRACE] = ACTIONS(1413),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [anon_sym_DOT] = ACTIONS(1417),
    [anon_sym_COMMA] = ACTIONS(1413),
    [anon_sym_PIPE] = ACTIONS(1417),
    [anon_sym_SEMI] = ACTIONS(1413),
    [anon_sym_STAR_STAR] = ACTIONS(1417),
    [anon_sym_AMP] = ACTIONS(1417),
    [anon_sym_EQ] = ACTIONS(1417),
    [anon_sym_LT] = ACTIONS(1417),
    [anon_sym_end] = ACTIONS(1413),
    [anon_sym_if] = ACTIONS(1413),
    [anon_sym_unless] = ACTIONS(1413),
    [anon_sym_while] = ACTIONS(1413),
    [anon_sym_until] = ACTIONS(1413),
    [anon_sym_rescue] = ACTIONS(1413),
    [anon_sym_do] = ACTIONS(1415),
    [anon_sym_when] = ACTIONS(1413),
    [anon_sym_elsif] = ACTIONS(1413),
    [anon_sym_else] = ACTIONS(1413),
    [anon_sym_then] = ACTIONS(1413),
    [anon_sym_ensure] = ACTIONS(1413),
    [anon_sym_EQ_GT] = ACTIONS(1413),
    [anon_sym_LBRACK] = ACTIONS(1413),
    [anon_sym_COLON_COLON2] = ACTIONS(1413),
    [anon_sym_AMP_DOT] = ACTIONS(1413),
    [anon_sym_PLUS_EQ] = ACTIONS(1413),
    [anon_sym_DASH_EQ] = ACTIONS(1413),
    [anon_sym_STAR_EQ] = ACTIONS(1413),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1413),
    [anon_sym_SLASH_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1413),
    [anon_sym_AMP_EQ] = ACTIONS(1413),
    [anon_sym_PERCENT_EQ] = ACTIONS(1413),
    [anon_sym_GT_GT_EQ] = ACTIONS(1413),
    [anon_sym_LT_LT_EQ] = ACTIONS(1413),
    [anon_sym_CARET_EQ] = ACTIONS(1413),
    [anon_sym_QMARK] = ACTIONS(1413),
    [anon_sym_DOT_DOT] = ACTIONS(1417),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1413),
    [anon_sym_and] = ACTIONS(1413),
    [anon_sym_or] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE] = ACTIONS(1417),
    [anon_sym_AMP_AMP] = ACTIONS(1417),
    [anon_sym_LT_LT] = ACTIONS(1417),
    [anon_sym_GT_GT] = ACTIONS(1417),
    [anon_sym_LT_EQ] = ACTIONS(1417),
    [anon_sym_GT] = ACTIONS(1417),
    [anon_sym_GT_EQ] = ACTIONS(1413),
    [anon_sym_CARET] = ACTIONS(1417),
    [anon_sym_PLUS] = ACTIONS(1417),
    [anon_sym_SLASH] = ACTIONS(1417),
    [anon_sym_PERCENT] = ACTIONS(1417),
    [anon_sym_EQ_EQ] = ACTIONS(1417),
    [anon_sym_BANG_EQ] = ACTIONS(1413),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1413),
    [anon_sym_LT_EQ_GT] = ACTIONS(1413),
    [anon_sym_EQ_TILDE] = ACTIONS(1413),
    [anon_sym_BANG_TILDE] = ACTIONS(1413),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1413),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1413),
    [sym__binary_star] = ACTIONS(1413),
  },
  [894] = {
    [sym_heredoc_body] = STATE(894),
    [ts_builtin_sym_end] = ACTIONS(1413),
    [anon_sym___END__] = ACTIONS(1413),
    [anon_sym_LBRACE] = ACTIONS(1413),
    [anon_sym_RBRACE] = ACTIONS(1413),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [anon_sym_DOT] = ACTIONS(1417),
    [anon_sym_COMMA] = ACTIONS(1413),
    [anon_sym_PIPE] = ACTIONS(1417),
    [anon_sym_SEMI] = ACTIONS(1413),
    [anon_sym_STAR_STAR] = ACTIONS(1417),
    [anon_sym_AMP] = ACTIONS(1417),
    [anon_sym_EQ] = ACTIONS(1417),
    [anon_sym_LT] = ACTIONS(1417),
    [anon_sym_end] = ACTIONS(1413),
    [anon_sym_if] = ACTIONS(1413),
    [anon_sym_unless] = ACTIONS(1413),
    [anon_sym_while] = ACTIONS(1413),
    [anon_sym_until] = ACTIONS(1413),
    [anon_sym_rescue] = ACTIONS(1413),
    [anon_sym_do] = ACTIONS(1413),
    [anon_sym_when] = ACTIONS(1413),
    [anon_sym_elsif] = ACTIONS(1413),
    [anon_sym_else] = ACTIONS(1413),
    [anon_sym_then] = ACTIONS(1413),
    [anon_sym_ensure] = ACTIONS(1413),
    [anon_sym_EQ_GT] = ACTIONS(1413),
    [anon_sym_LBRACK] = ACTIONS(1413),
    [anon_sym_COLON_COLON2] = ACTIONS(1413),
    [anon_sym_AMP_DOT] = ACTIONS(1413),
    [anon_sym_PLUS_EQ] = ACTIONS(1413),
    [anon_sym_DASH_EQ] = ACTIONS(1413),
    [anon_sym_STAR_EQ] = ACTIONS(1413),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1413),
    [anon_sym_SLASH_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1413),
    [anon_sym_AMP_EQ] = ACTIONS(1413),
    [anon_sym_PERCENT_EQ] = ACTIONS(1413),
    [anon_sym_GT_GT_EQ] = ACTIONS(1413),
    [anon_sym_LT_LT_EQ] = ACTIONS(1413),
    [anon_sym_CARET_EQ] = ACTIONS(1413),
    [anon_sym_QMARK] = ACTIONS(1413),
    [anon_sym_DOT_DOT] = ACTIONS(1417),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1413),
    [anon_sym_and] = ACTIONS(1413),
    [anon_sym_or] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE] = ACTIONS(1417),
    [anon_sym_AMP_AMP] = ACTIONS(1417),
    [anon_sym_LT_LT] = ACTIONS(1417),
    [anon_sym_GT_GT] = ACTIONS(1417),
    [anon_sym_LT_EQ] = ACTIONS(1417),
    [anon_sym_GT] = ACTIONS(1417),
    [anon_sym_GT_EQ] = ACTIONS(1413),
    [anon_sym_CARET] = ACTIONS(1417),
    [anon_sym_PLUS] = ACTIONS(1417),
    [anon_sym_SLASH] = ACTIONS(1417),
    [anon_sym_PERCENT] = ACTIONS(1417),
    [anon_sym_EQ_EQ] = ACTIONS(1417),
    [anon_sym_BANG_EQ] = ACTIONS(1413),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1413),
    [anon_sym_LT_EQ_GT] = ACTIONS(1413),
    [anon_sym_EQ_TILDE] = ACTIONS(1413),
    [anon_sym_BANG_TILDE] = ACTIONS(1413),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1413),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1413),
    [sym__binary_star] = ACTIONS(1413),
  },
  [895] = {
    [sym_heredoc_body] = STATE(895),
    [ts_builtin_sym_end] = ACTIONS(1419),
    [anon_sym___END__] = ACTIONS(1419),
    [anon_sym_LBRACE] = ACTIONS(1419),
    [anon_sym_RBRACE] = ACTIONS(1419),
    [anon_sym_RPAREN] = ACTIONS(1419),
    [anon_sym_DOT] = ACTIONS(1421),
    [anon_sym_COMMA] = ACTIONS(1419),
    [anon_sym_PIPE] = ACTIONS(1421),
    [anon_sym_SEMI] = ACTIONS(1419),
    [anon_sym_STAR_STAR] = ACTIONS(1421),
    [anon_sym_AMP] = ACTIONS(1421),
    [anon_sym_EQ] = ACTIONS(1421),
    [anon_sym_LT] = ACTIONS(1421),
    [anon_sym_end] = ACTIONS(1419),
    [anon_sym_if] = ACTIONS(1419),
    [anon_sym_unless] = ACTIONS(1419),
    [anon_sym_while] = ACTIONS(1419),
    [anon_sym_until] = ACTIONS(1419),
    [anon_sym_rescue] = ACTIONS(1419),
    [anon_sym_do] = ACTIONS(1419),
    [anon_sym_when] = ACTIONS(1419),
    [anon_sym_elsif] = ACTIONS(1419),
    [anon_sym_else] = ACTIONS(1419),
    [anon_sym_then] = ACTIONS(1419),
    [anon_sym_ensure] = ACTIONS(1419),
    [anon_sym_EQ_GT] = ACTIONS(1419),
    [anon_sym_LBRACK] = ACTIONS(1419),
    [anon_sym_COLON_COLON2] = ACTIONS(1419),
    [anon_sym_AMP_DOT] = ACTIONS(1419),
    [anon_sym_PLUS_EQ] = ACTIONS(1419),
    [anon_sym_DASH_EQ] = ACTIONS(1419),
    [anon_sym_STAR_EQ] = ACTIONS(1419),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1419),
    [anon_sym_SLASH_EQ] = ACTIONS(1419),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1419),
    [anon_sym_PIPE_EQ] = ACTIONS(1419),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1419),
    [anon_sym_AMP_EQ] = ACTIONS(1419),
    [anon_sym_PERCENT_EQ] = ACTIONS(1419),
    [anon_sym_GT_GT_EQ] = ACTIONS(1419),
    [anon_sym_LT_LT_EQ] = ACTIONS(1419),
    [anon_sym_CARET_EQ] = ACTIONS(1419),
    [anon_sym_QMARK] = ACTIONS(1419),
    [anon_sym_DOT_DOT] = ACTIONS(1421),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1419),
    [anon_sym_and] = ACTIONS(1419),
    [anon_sym_or] = ACTIONS(1419),
    [anon_sym_PIPE_PIPE] = ACTIONS(1421),
    [anon_sym_AMP_AMP] = ACTIONS(1421),
    [anon_sym_LT_LT] = ACTIONS(1421),
    [anon_sym_GT_GT] = ACTIONS(1421),
    [anon_sym_LT_EQ] = ACTIONS(1421),
    [anon_sym_GT] = ACTIONS(1421),
    [anon_sym_GT_EQ] = ACTIONS(1419),
    [anon_sym_CARET] = ACTIONS(1421),
    [anon_sym_PLUS] = ACTIONS(1421),
    [anon_sym_SLASH] = ACTIONS(1421),
    [anon_sym_PERCENT] = ACTIONS(1421),
    [anon_sym_EQ_EQ] = ACTIONS(1421),
    [anon_sym_BANG_EQ] = ACTIONS(1419),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1419),
    [anon_sym_LT_EQ_GT] = ACTIONS(1419),
    [anon_sym_EQ_TILDE] = ACTIONS(1419),
    [anon_sym_BANG_TILDE] = ACTIONS(1419),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1419),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1419),
    [sym__binary_star] = ACTIONS(1419),
  },
  [896] = {
    [sym_heredoc_body] = STATE(896),
    [ts_builtin_sym_end] = ACTIONS(1423),
    [anon_sym___END__] = ACTIONS(1423),
    [anon_sym_LBRACE] = ACTIONS(1423),
    [anon_sym_RBRACE] = ACTIONS(1423),
    [anon_sym_RPAREN] = ACTIONS(1423),
    [anon_sym_DOT] = ACTIONS(1425),
    [anon_sym_COMMA] = ACTIONS(1423),
    [anon_sym_PIPE] = ACTIONS(1425),
    [anon_sym_SEMI] = ACTIONS(1423),
    [anon_sym_STAR_STAR] = ACTIONS(1425),
    [anon_sym_AMP] = ACTIONS(1425),
    [anon_sym_EQ] = ACTIONS(1425),
    [anon_sym_LT] = ACTIONS(1425),
    [anon_sym_end] = ACTIONS(1423),
    [anon_sym_if] = ACTIONS(1423),
    [anon_sym_unless] = ACTIONS(1423),
    [anon_sym_while] = ACTIONS(1423),
    [anon_sym_until] = ACTIONS(1423),
    [anon_sym_rescue] = ACTIONS(1423),
    [anon_sym_do] = ACTIONS(1423),
    [anon_sym_when] = ACTIONS(1423),
    [anon_sym_elsif] = ACTIONS(1423),
    [anon_sym_else] = ACTIONS(1423),
    [anon_sym_then] = ACTIONS(1423),
    [anon_sym_ensure] = ACTIONS(1423),
    [anon_sym_EQ_GT] = ACTIONS(1423),
    [anon_sym_LBRACK] = ACTIONS(1423),
    [anon_sym_COLON_COLON2] = ACTIONS(1423),
    [anon_sym_AMP_DOT] = ACTIONS(1423),
    [anon_sym_PLUS_EQ] = ACTIONS(1423),
    [anon_sym_DASH_EQ] = ACTIONS(1423),
    [anon_sym_STAR_EQ] = ACTIONS(1423),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1423),
    [anon_sym_SLASH_EQ] = ACTIONS(1423),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1423),
    [anon_sym_PIPE_EQ] = ACTIONS(1423),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1423),
    [anon_sym_AMP_EQ] = ACTIONS(1423),
    [anon_sym_PERCENT_EQ] = ACTIONS(1423),
    [anon_sym_GT_GT_EQ] = ACTIONS(1423),
    [anon_sym_LT_LT_EQ] = ACTIONS(1423),
    [anon_sym_CARET_EQ] = ACTIONS(1423),
    [anon_sym_QMARK] = ACTIONS(1423),
    [anon_sym_DOT_DOT] = ACTIONS(1425),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1423),
    [anon_sym_and] = ACTIONS(1423),
    [anon_sym_or] = ACTIONS(1423),
    [anon_sym_PIPE_PIPE] = ACTIONS(1425),
    [anon_sym_AMP_AMP] = ACTIONS(1425),
    [anon_sym_LT_LT] = ACTIONS(1425),
    [anon_sym_GT_GT] = ACTIONS(1425),
    [anon_sym_LT_EQ] = ACTIONS(1425),
    [anon_sym_GT] = ACTIONS(1425),
    [anon_sym_GT_EQ] = ACTIONS(1423),
    [anon_sym_CARET] = ACTIONS(1425),
    [anon_sym_PLUS] = ACTIONS(1425),
    [anon_sym_SLASH] = ACTIONS(1425),
    [anon_sym_PERCENT] = ACTIONS(1425),
    [anon_sym_EQ_EQ] = ACTIONS(1425),
    [anon_sym_BANG_EQ] = ACTIONS(1423),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1423),
    [anon_sym_LT_EQ_GT] = ACTIONS(1423),
    [anon_sym_EQ_TILDE] = ACTIONS(1423),
    [anon_sym_BANG_TILDE] = ACTIONS(1423),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1423),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1423),
    [sym__binary_star] = ACTIONS(1423),
  },
  [897] = {
    [sym_heredoc_body] = STATE(897),
    [ts_builtin_sym_end] = ACTIONS(1413),
    [anon_sym___END__] = ACTIONS(1413),
    [anon_sym_LBRACE] = ACTIONS(1415),
    [anon_sym_RBRACE] = ACTIONS(1413),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [anon_sym_DOT] = ACTIONS(1417),
    [anon_sym_COMMA] = ACTIONS(1413),
    [anon_sym_PIPE] = ACTIONS(1417),
    [anon_sym_SEMI] = ACTIONS(1413),
    [anon_sym_STAR_STAR] = ACTIONS(1417),
    [anon_sym_AMP] = ACTIONS(1417),
    [anon_sym_EQ] = ACTIONS(1417),
    [anon_sym_LT] = ACTIONS(1417),
    [anon_sym_end] = ACTIONS(1413),
    [anon_sym_if] = ACTIONS(1413),
    [anon_sym_unless] = ACTIONS(1413),
    [anon_sym_while] = ACTIONS(1413),
    [anon_sym_until] = ACTIONS(1413),
    [anon_sym_rescue] = ACTIONS(1413),
    [anon_sym_do] = ACTIONS(1415),
    [anon_sym_when] = ACTIONS(1413),
    [anon_sym_elsif] = ACTIONS(1413),
    [anon_sym_else] = ACTIONS(1413),
    [anon_sym_then] = ACTIONS(1413),
    [anon_sym_ensure] = ACTIONS(1413),
    [anon_sym_EQ_GT] = ACTIONS(1415),
    [anon_sym_LBRACK] = ACTIONS(1413),
    [anon_sym_COLON_COLON2] = ACTIONS(1413),
    [anon_sym_AMP_DOT] = ACTIONS(1413),
    [anon_sym_PLUS_EQ] = ACTIONS(1413),
    [anon_sym_DASH_EQ] = ACTIONS(1413),
    [anon_sym_STAR_EQ] = ACTIONS(1413),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1413),
    [anon_sym_SLASH_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1413),
    [anon_sym_AMP_EQ] = ACTIONS(1413),
    [anon_sym_PERCENT_EQ] = ACTIONS(1413),
    [anon_sym_GT_GT_EQ] = ACTIONS(1413),
    [anon_sym_LT_LT_EQ] = ACTIONS(1413),
    [anon_sym_CARET_EQ] = ACTIONS(1413),
    [anon_sym_QMARK] = ACTIONS(1413),
    [anon_sym_DOT_DOT] = ACTIONS(1417),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1413),
    [anon_sym_and] = ACTIONS(1413),
    [anon_sym_or] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE] = ACTIONS(1417),
    [anon_sym_AMP_AMP] = ACTIONS(1417),
    [anon_sym_LT_LT] = ACTIONS(1417),
    [anon_sym_GT_GT] = ACTIONS(1417),
    [anon_sym_LT_EQ] = ACTIONS(1417),
    [anon_sym_GT] = ACTIONS(1417),
    [anon_sym_GT_EQ] = ACTIONS(1413),
    [anon_sym_CARET] = ACTIONS(1417),
    [anon_sym_PLUS] = ACTIONS(1417),
    [anon_sym_SLASH] = ACTIONS(1417),
    [anon_sym_PERCENT] = ACTIONS(1417),
    [anon_sym_EQ_EQ] = ACTIONS(1417),
    [anon_sym_BANG_EQ] = ACTIONS(1413),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1413),
    [anon_sym_LT_EQ_GT] = ACTIONS(1413),
    [anon_sym_EQ_TILDE] = ACTIONS(1413),
    [anon_sym_BANG_TILDE] = ACTIONS(1413),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1413),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1413),
    [sym__binary_star] = ACTIONS(1413),
  },
  [898] = {
    [sym_heredoc_body] = STATE(898),
    [ts_builtin_sym_end] = ACTIONS(797),
    [anon_sym___END__] = ACTIONS(797),
    [anon_sym_LBRACE] = ACTIONS(797),
    [anon_sym_RBRACE] = ACTIONS(797),
    [anon_sym_RPAREN] = ACTIONS(797),
    [anon_sym_DOT] = ACTIONS(795),
    [anon_sym_COMMA] = ACTIONS(797),
    [anon_sym_PIPE] = ACTIONS(795),
    [anon_sym_SEMI] = ACTIONS(797),
    [anon_sym_STAR_STAR] = ACTIONS(795),
    [anon_sym_AMP] = ACTIONS(795),
    [anon_sym_EQ] = ACTIONS(795),
    [anon_sym_LT] = ACTIONS(795),
    [anon_sym_end] = ACTIONS(797),
    [anon_sym_if] = ACTIONS(797),
    [anon_sym_unless] = ACTIONS(797),
    [anon_sym_while] = ACTIONS(797),
    [anon_sym_until] = ACTIONS(797),
    [anon_sym_rescue] = ACTIONS(797),
    [anon_sym_do] = ACTIONS(797),
    [anon_sym_when] = ACTIONS(797),
    [anon_sym_elsif] = ACTIONS(797),
    [anon_sym_else] = ACTIONS(797),
    [anon_sym_then] = ACTIONS(797),
    [anon_sym_ensure] = ACTIONS(797),
    [anon_sym_LBRACK] = ACTIONS(797),
    [anon_sym_COLON_COLON2] = ACTIONS(797),
    [anon_sym_AMP_DOT] = ACTIONS(797),
    [anon_sym_LPAREN2] = ACTIONS(797),
    [anon_sym_PLUS_EQ] = ACTIONS(797),
    [anon_sym_DASH_EQ] = ACTIONS(797),
    [anon_sym_STAR_EQ] = ACTIONS(797),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(797),
    [anon_sym_SLASH_EQ] = ACTIONS(797),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(797),
    [anon_sym_PIPE_EQ] = ACTIONS(797),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(797),
    [anon_sym_AMP_EQ] = ACTIONS(797),
    [anon_sym_PERCENT_EQ] = ACTIONS(797),
    [anon_sym_GT_GT_EQ] = ACTIONS(797),
    [anon_sym_LT_LT_EQ] = ACTIONS(797),
    [anon_sym_CARET_EQ] = ACTIONS(797),
    [anon_sym_QMARK] = ACTIONS(797),
    [anon_sym_DOT_DOT] = ACTIONS(795),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(797),
    [anon_sym_and] = ACTIONS(797),
    [anon_sym_or] = ACTIONS(797),
    [anon_sym_PIPE_PIPE] = ACTIONS(795),
    [anon_sym_AMP_AMP] = ACTIONS(795),
    [anon_sym_LT_LT] = ACTIONS(795),
    [anon_sym_GT_GT] = ACTIONS(795),
    [anon_sym_LT_EQ] = ACTIONS(795),
    [anon_sym_GT] = ACTIONS(795),
    [anon_sym_GT_EQ] = ACTIONS(797),
    [anon_sym_CARET] = ACTIONS(795),
    [anon_sym_PLUS] = ACTIONS(795),
    [anon_sym_SLASH] = ACTIONS(795),
    [anon_sym_PERCENT] = ACTIONS(795),
    [anon_sym_EQ_EQ] = ACTIONS(795),
    [anon_sym_BANG_EQ] = ACTIONS(797),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(797),
    [anon_sym_LT_EQ_GT] = ACTIONS(797),
    [anon_sym_EQ_TILDE] = ACTIONS(797),
    [anon_sym_BANG_TILDE] = ACTIONS(797),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(797),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(797),
    [sym__binary_star] = ACTIONS(797),
  },
  [899] = {
    [sym_heredoc_body] = STATE(899),
    [ts_builtin_sym_end] = ACTIONS(1427),
    [anon_sym___END__] = ACTIONS(1427),
    [anon_sym_LBRACE] = ACTIONS(1427),
    [anon_sym_RBRACE] = ACTIONS(1427),
    [anon_sym_RPAREN] = ACTIONS(1427),
    [anon_sym_DOT] = ACTIONS(1429),
    [anon_sym_COMMA] = ACTIONS(1427),
    [anon_sym_PIPE] = ACTIONS(1429),
    [anon_sym_SEMI] = ACTIONS(1427),
    [anon_sym_STAR_STAR] = ACTIONS(1429),
    [anon_sym_AMP] = ACTIONS(1429),
    [anon_sym_EQ] = ACTIONS(1429),
    [anon_sym_LT] = ACTIONS(1429),
    [anon_sym_end] = ACTIONS(1427),
    [anon_sym_if] = ACTIONS(1427),
    [anon_sym_unless] = ACTIONS(1427),
    [anon_sym_while] = ACTIONS(1427),
    [anon_sym_until] = ACTIONS(1427),
    [anon_sym_rescue] = ACTIONS(1427),
    [anon_sym_do] = ACTIONS(1427),
    [anon_sym_when] = ACTIONS(1427),
    [anon_sym_elsif] = ACTIONS(1427),
    [anon_sym_else] = ACTIONS(1427),
    [anon_sym_then] = ACTIONS(1427),
    [anon_sym_ensure] = ACTIONS(1427),
    [anon_sym_EQ_GT] = ACTIONS(1427),
    [anon_sym_LBRACK] = ACTIONS(1427),
    [anon_sym_COLON_COLON2] = ACTIONS(1427),
    [anon_sym_AMP_DOT] = ACTIONS(1427),
    [anon_sym_PLUS_EQ] = ACTIONS(1427),
    [anon_sym_DASH_EQ] = ACTIONS(1427),
    [anon_sym_STAR_EQ] = ACTIONS(1427),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1427),
    [anon_sym_SLASH_EQ] = ACTIONS(1427),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1427),
    [anon_sym_PIPE_EQ] = ACTIONS(1427),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1427),
    [anon_sym_AMP_EQ] = ACTIONS(1427),
    [anon_sym_PERCENT_EQ] = ACTIONS(1427),
    [anon_sym_GT_GT_EQ] = ACTIONS(1427),
    [anon_sym_LT_LT_EQ] = ACTIONS(1427),
    [anon_sym_CARET_EQ] = ACTIONS(1427),
    [anon_sym_QMARK] = ACTIONS(1427),
    [anon_sym_DOT_DOT] = ACTIONS(1429),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1427),
    [anon_sym_and] = ACTIONS(1427),
    [anon_sym_or] = ACTIONS(1427),
    [anon_sym_PIPE_PIPE] = ACTIONS(1429),
    [anon_sym_AMP_AMP] = ACTIONS(1429),
    [anon_sym_LT_LT] = ACTIONS(1429),
    [anon_sym_GT_GT] = ACTIONS(1429),
    [anon_sym_LT_EQ] = ACTIONS(1429),
    [anon_sym_GT] = ACTIONS(1429),
    [anon_sym_GT_EQ] = ACTIONS(1427),
    [anon_sym_CARET] = ACTIONS(1429),
    [anon_sym_PLUS] = ACTIONS(1429),
    [anon_sym_SLASH] = ACTIONS(1429),
    [anon_sym_PERCENT] = ACTIONS(1429),
    [anon_sym_EQ_EQ] = ACTIONS(1429),
    [anon_sym_BANG_EQ] = ACTIONS(1427),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1427),
    [anon_sym_LT_EQ_GT] = ACTIONS(1427),
    [anon_sym_EQ_TILDE] = ACTIONS(1427),
    [anon_sym_BANG_TILDE] = ACTIONS(1427),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1427),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1427),
    [sym__binary_star] = ACTIONS(1427),
  },
  [900] = {
    [sym_heredoc_body] = STATE(900),
    [ts_builtin_sym_end] = ACTIONS(777),
    [anon_sym___END__] = ACTIONS(777),
    [anon_sym_LBRACE] = ACTIONS(777),
    [anon_sym_RBRACE] = ACTIONS(777),
    [anon_sym_RPAREN] = ACTIONS(777),
    [anon_sym_DOT] = ACTIONS(775),
    [anon_sym_COMMA] = ACTIONS(777),
    [anon_sym_PIPE] = ACTIONS(775),
    [anon_sym_SEMI] = ACTIONS(777),
    [anon_sym_STAR_STAR] = ACTIONS(775),
    [anon_sym_AMP] = ACTIONS(775),
    [anon_sym_EQ] = ACTIONS(775),
    [anon_sym_LT] = ACTIONS(775),
    [anon_sym_end] = ACTIONS(777),
    [anon_sym_if] = ACTIONS(777),
    [anon_sym_unless] = ACTIONS(777),
    [anon_sym_while] = ACTIONS(777),
    [anon_sym_until] = ACTIONS(777),
    [anon_sym_rescue] = ACTIONS(777),
    [anon_sym_do] = ACTIONS(777),
    [anon_sym_when] = ACTIONS(777),
    [anon_sym_elsif] = ACTIONS(777),
    [anon_sym_else] = ACTIONS(777),
    [anon_sym_then] = ACTIONS(777),
    [anon_sym_ensure] = ACTIONS(777),
    [anon_sym_LBRACK] = ACTIONS(777),
    [anon_sym_COLON_COLON2] = ACTIONS(777),
    [anon_sym_AMP_DOT] = ACTIONS(777),
    [anon_sym_LPAREN2] = ACTIONS(777),
    [anon_sym_PLUS_EQ] = ACTIONS(777),
    [anon_sym_DASH_EQ] = ACTIONS(777),
    [anon_sym_STAR_EQ] = ACTIONS(777),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(777),
    [anon_sym_SLASH_EQ] = ACTIONS(777),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(777),
    [anon_sym_PIPE_EQ] = ACTIONS(777),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(777),
    [anon_sym_AMP_EQ] = ACTIONS(777),
    [anon_sym_PERCENT_EQ] = ACTIONS(777),
    [anon_sym_GT_GT_EQ] = ACTIONS(777),
    [anon_sym_LT_LT_EQ] = ACTIONS(777),
    [anon_sym_CARET_EQ] = ACTIONS(777),
    [anon_sym_QMARK] = ACTIONS(777),
    [anon_sym_DOT_DOT] = ACTIONS(775),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(777),
    [anon_sym_and] = ACTIONS(777),
    [anon_sym_or] = ACTIONS(777),
    [anon_sym_PIPE_PIPE] = ACTIONS(775),
    [anon_sym_AMP_AMP] = ACTIONS(775),
    [anon_sym_LT_LT] = ACTIONS(775),
    [anon_sym_GT_GT] = ACTIONS(775),
    [anon_sym_LT_EQ] = ACTIONS(775),
    [anon_sym_GT] = ACTIONS(775),
    [anon_sym_GT_EQ] = ACTIONS(777),
    [anon_sym_CARET] = ACTIONS(775),
    [anon_sym_PLUS] = ACTIONS(775),
    [anon_sym_SLASH] = ACTIONS(775),
    [anon_sym_PERCENT] = ACTIONS(775),
    [anon_sym_EQ_EQ] = ACTIONS(775),
    [anon_sym_BANG_EQ] = ACTIONS(777),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(777),
    [anon_sym_LT_EQ_GT] = ACTIONS(777),
    [anon_sym_EQ_TILDE] = ACTIONS(777),
    [anon_sym_BANG_TILDE] = ACTIONS(777),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(777),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(777),
    [sym__binary_star] = ACTIONS(777),
  },
  [901] = {
    [sym_heredoc_body] = STATE(901),
    [ts_builtin_sym_end] = ACTIONS(1431),
    [anon_sym___END__] = ACTIONS(1431),
    [anon_sym_LBRACE] = ACTIONS(1431),
    [anon_sym_RBRACE] = ACTIONS(1431),
    [anon_sym_RPAREN] = ACTIONS(1431),
    [anon_sym_DOT] = ACTIONS(1433),
    [anon_sym_COMMA] = ACTIONS(1431),
    [anon_sym_PIPE] = ACTIONS(1433),
    [anon_sym_SEMI] = ACTIONS(1431),
    [anon_sym_STAR_STAR] = ACTIONS(1433),
    [anon_sym_AMP] = ACTIONS(1433),
    [anon_sym_EQ] = ACTIONS(1433),
    [anon_sym_LT] = ACTIONS(1433),
    [anon_sym_end] = ACTIONS(1431),
    [anon_sym_if] = ACTIONS(1431),
    [anon_sym_unless] = ACTIONS(1431),
    [anon_sym_while] = ACTIONS(1431),
    [anon_sym_until] = ACTIONS(1431),
    [anon_sym_rescue] = ACTIONS(1431),
    [anon_sym_do] = ACTIONS(1431),
    [anon_sym_when] = ACTIONS(1431),
    [anon_sym_elsif] = ACTIONS(1431),
    [anon_sym_else] = ACTIONS(1431),
    [anon_sym_then] = ACTIONS(1431),
    [anon_sym_ensure] = ACTIONS(1431),
    [anon_sym_EQ_GT] = ACTIONS(1431),
    [anon_sym_LBRACK] = ACTIONS(1431),
    [anon_sym_COLON_COLON2] = ACTIONS(1431),
    [anon_sym_AMP_DOT] = ACTIONS(1431),
    [anon_sym_PLUS_EQ] = ACTIONS(1431),
    [anon_sym_DASH_EQ] = ACTIONS(1431),
    [anon_sym_STAR_EQ] = ACTIONS(1431),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1431),
    [anon_sym_SLASH_EQ] = ACTIONS(1431),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1431),
    [anon_sym_PIPE_EQ] = ACTIONS(1431),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1431),
    [anon_sym_AMP_EQ] = ACTIONS(1431),
    [anon_sym_PERCENT_EQ] = ACTIONS(1431),
    [anon_sym_GT_GT_EQ] = ACTIONS(1431),
    [anon_sym_LT_LT_EQ] = ACTIONS(1431),
    [anon_sym_CARET_EQ] = ACTIONS(1431),
    [anon_sym_QMARK] = ACTIONS(1431),
    [anon_sym_DOT_DOT] = ACTIONS(1433),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1431),
    [anon_sym_and] = ACTIONS(1431),
    [anon_sym_or] = ACTIONS(1431),
    [anon_sym_PIPE_PIPE] = ACTIONS(1433),
    [anon_sym_AMP_AMP] = ACTIONS(1433),
    [anon_sym_LT_LT] = ACTIONS(1433),
    [anon_sym_GT_GT] = ACTIONS(1433),
    [anon_sym_LT_EQ] = ACTIONS(1433),
    [anon_sym_GT] = ACTIONS(1433),
    [anon_sym_GT_EQ] = ACTIONS(1431),
    [anon_sym_CARET] = ACTIONS(1433),
    [anon_sym_PLUS] = ACTIONS(1433),
    [anon_sym_SLASH] = ACTIONS(1433),
    [anon_sym_PERCENT] = ACTIONS(1433),
    [anon_sym_EQ_EQ] = ACTIONS(1433),
    [anon_sym_BANG_EQ] = ACTIONS(1431),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1431),
    [anon_sym_LT_EQ_GT] = ACTIONS(1431),
    [anon_sym_EQ_TILDE] = ACTIONS(1431),
    [anon_sym_BANG_TILDE] = ACTIONS(1431),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1431),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1431),
    [sym__binary_star] = ACTIONS(1431),
  },
  [902] = {
    [sym_heredoc_body] = STATE(902),
    [ts_builtin_sym_end] = ACTIONS(789),
    [anon_sym___END__] = ACTIONS(789),
    [anon_sym_LBRACE] = ACTIONS(789),
    [anon_sym_RBRACE] = ACTIONS(789),
    [anon_sym_RPAREN] = ACTIONS(789),
    [anon_sym_DOT] = ACTIONS(787),
    [anon_sym_COMMA] = ACTIONS(789),
    [anon_sym_PIPE] = ACTIONS(787),
    [anon_sym_SEMI] = ACTIONS(789),
    [anon_sym_STAR_STAR] = ACTIONS(787),
    [anon_sym_AMP] = ACTIONS(787),
    [anon_sym_EQ] = ACTIONS(787),
    [anon_sym_LT] = ACTIONS(787),
    [anon_sym_end] = ACTIONS(789),
    [anon_sym_if] = ACTIONS(789),
    [anon_sym_unless] = ACTIONS(789),
    [anon_sym_while] = ACTIONS(789),
    [anon_sym_until] = ACTIONS(789),
    [anon_sym_rescue] = ACTIONS(789),
    [anon_sym_do] = ACTIONS(789),
    [anon_sym_when] = ACTIONS(789),
    [anon_sym_elsif] = ACTIONS(789),
    [anon_sym_else] = ACTIONS(789),
    [anon_sym_then] = ACTIONS(789),
    [anon_sym_ensure] = ACTIONS(789),
    [anon_sym_LBRACK] = ACTIONS(789),
    [anon_sym_COLON_COLON2] = ACTIONS(789),
    [anon_sym_AMP_DOT] = ACTIONS(789),
    [anon_sym_LPAREN2] = ACTIONS(789),
    [anon_sym_PLUS_EQ] = ACTIONS(789),
    [anon_sym_DASH_EQ] = ACTIONS(789),
    [anon_sym_STAR_EQ] = ACTIONS(789),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(789),
    [anon_sym_SLASH_EQ] = ACTIONS(789),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(789),
    [anon_sym_PIPE_EQ] = ACTIONS(789),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(789),
    [anon_sym_AMP_EQ] = ACTIONS(789),
    [anon_sym_PERCENT_EQ] = ACTIONS(789),
    [anon_sym_GT_GT_EQ] = ACTIONS(789),
    [anon_sym_LT_LT_EQ] = ACTIONS(789),
    [anon_sym_CARET_EQ] = ACTIONS(789),
    [anon_sym_QMARK] = ACTIONS(789),
    [anon_sym_DOT_DOT] = ACTIONS(787),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(789),
    [anon_sym_and] = ACTIONS(789),
    [anon_sym_or] = ACTIONS(789),
    [anon_sym_PIPE_PIPE] = ACTIONS(787),
    [anon_sym_AMP_AMP] = ACTIONS(787),
    [anon_sym_LT_LT] = ACTIONS(787),
    [anon_sym_GT_GT] = ACTIONS(787),
    [anon_sym_LT_EQ] = ACTIONS(787),
    [anon_sym_GT] = ACTIONS(787),
    [anon_sym_GT_EQ] = ACTIONS(789),
    [anon_sym_CARET] = ACTIONS(787),
    [anon_sym_PLUS] = ACTIONS(787),
    [anon_sym_SLASH] = ACTIONS(787),
    [anon_sym_PERCENT] = ACTIONS(787),
    [anon_sym_EQ_EQ] = ACTIONS(787),
    [anon_sym_BANG_EQ] = ACTIONS(789),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(789),
    [anon_sym_LT_EQ_GT] = ACTIONS(789),
    [anon_sym_EQ_TILDE] = ACTIONS(789),
    [anon_sym_BANG_TILDE] = ACTIONS(789),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(789),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(789),
    [sym__binary_star] = ACTIONS(789),
  },
  [903] = {
    [sym_heredoc_body] = STATE(903),
    [ts_builtin_sym_end] = ACTIONS(781),
    [anon_sym___END__] = ACTIONS(781),
    [anon_sym_LBRACE] = ACTIONS(781),
    [anon_sym_RBRACE] = ACTIONS(781),
    [anon_sym_RPAREN] = ACTIONS(781),
    [anon_sym_DOT] = ACTIONS(779),
    [anon_sym_COMMA] = ACTIONS(781),
    [anon_sym_PIPE] = ACTIONS(779),
    [anon_sym_SEMI] = ACTIONS(781),
    [anon_sym_STAR_STAR] = ACTIONS(779),
    [anon_sym_AMP] = ACTIONS(779),
    [anon_sym_EQ] = ACTIONS(779),
    [anon_sym_LT] = ACTIONS(779),
    [anon_sym_end] = ACTIONS(781),
    [anon_sym_if] = ACTIONS(781),
    [anon_sym_unless] = ACTIONS(781),
    [anon_sym_while] = ACTIONS(781),
    [anon_sym_until] = ACTIONS(781),
    [anon_sym_rescue] = ACTIONS(781),
    [anon_sym_do] = ACTIONS(781),
    [anon_sym_when] = ACTIONS(781),
    [anon_sym_elsif] = ACTIONS(781),
    [anon_sym_else] = ACTIONS(781),
    [anon_sym_then] = ACTIONS(781),
    [anon_sym_ensure] = ACTIONS(781),
    [anon_sym_LBRACK] = ACTIONS(781),
    [anon_sym_COLON_COLON2] = ACTIONS(781),
    [anon_sym_AMP_DOT] = ACTIONS(781),
    [anon_sym_LPAREN2] = ACTIONS(781),
    [anon_sym_PLUS_EQ] = ACTIONS(781),
    [anon_sym_DASH_EQ] = ACTIONS(781),
    [anon_sym_STAR_EQ] = ACTIONS(781),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(781),
    [anon_sym_SLASH_EQ] = ACTIONS(781),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(781),
    [anon_sym_PIPE_EQ] = ACTIONS(781),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(781),
    [anon_sym_AMP_EQ] = ACTIONS(781),
    [anon_sym_PERCENT_EQ] = ACTIONS(781),
    [anon_sym_GT_GT_EQ] = ACTIONS(781),
    [anon_sym_LT_LT_EQ] = ACTIONS(781),
    [anon_sym_CARET_EQ] = ACTIONS(781),
    [anon_sym_QMARK] = ACTIONS(781),
    [anon_sym_DOT_DOT] = ACTIONS(779),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(781),
    [anon_sym_and] = ACTIONS(781),
    [anon_sym_or] = ACTIONS(781),
    [anon_sym_PIPE_PIPE] = ACTIONS(779),
    [anon_sym_AMP_AMP] = ACTIONS(779),
    [anon_sym_LT_LT] = ACTIONS(779),
    [anon_sym_GT_GT] = ACTIONS(779),
    [anon_sym_LT_EQ] = ACTIONS(779),
    [anon_sym_GT] = ACTIONS(779),
    [anon_sym_GT_EQ] = ACTIONS(781),
    [anon_sym_CARET] = ACTIONS(779),
    [anon_sym_PLUS] = ACTIONS(779),
    [anon_sym_SLASH] = ACTIONS(779),
    [anon_sym_PERCENT] = ACTIONS(779),
    [anon_sym_EQ_EQ] = ACTIONS(779),
    [anon_sym_BANG_EQ] = ACTIONS(781),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(781),
    [anon_sym_LT_EQ_GT] = ACTIONS(781),
    [anon_sym_EQ_TILDE] = ACTIONS(781),
    [anon_sym_BANG_TILDE] = ACTIONS(781),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(781),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(781),
    [sym__binary_star] = ACTIONS(781),
  },
  [904] = {
    [sym_heredoc_body] = STATE(904),
    [ts_builtin_sym_end] = ACTIONS(1435),
    [anon_sym___END__] = ACTIONS(1435),
    [anon_sym_LBRACE] = ACTIONS(1435),
    [anon_sym_RBRACE] = ACTIONS(1435),
    [anon_sym_RPAREN] = ACTIONS(1435),
    [anon_sym_DOT] = ACTIONS(1437),
    [anon_sym_COMMA] = ACTIONS(1435),
    [anon_sym_PIPE] = ACTIONS(1437),
    [anon_sym_SEMI] = ACTIONS(1435),
    [anon_sym_STAR_STAR] = ACTIONS(1437),
    [anon_sym_AMP] = ACTIONS(1437),
    [anon_sym_EQ] = ACTIONS(1437),
    [anon_sym_LT] = ACTIONS(1437),
    [anon_sym_end] = ACTIONS(1435),
    [anon_sym_if] = ACTIONS(1435),
    [anon_sym_unless] = ACTIONS(1435),
    [anon_sym_while] = ACTIONS(1435),
    [anon_sym_until] = ACTIONS(1435),
    [anon_sym_rescue] = ACTIONS(1435),
    [anon_sym_do] = ACTIONS(1435),
    [anon_sym_when] = ACTIONS(1435),
    [anon_sym_elsif] = ACTIONS(1435),
    [anon_sym_else] = ACTIONS(1435),
    [anon_sym_then] = ACTIONS(1435),
    [anon_sym_ensure] = ACTIONS(1435),
    [anon_sym_EQ_GT] = ACTIONS(1435),
    [anon_sym_LBRACK] = ACTIONS(1435),
    [anon_sym_COLON_COLON2] = ACTIONS(1435),
    [anon_sym_AMP_DOT] = ACTIONS(1435),
    [anon_sym_PLUS_EQ] = ACTIONS(1435),
    [anon_sym_DASH_EQ] = ACTIONS(1435),
    [anon_sym_STAR_EQ] = ACTIONS(1435),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1435),
    [anon_sym_SLASH_EQ] = ACTIONS(1435),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1435),
    [anon_sym_PIPE_EQ] = ACTIONS(1435),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1435),
    [anon_sym_AMP_EQ] = ACTIONS(1435),
    [anon_sym_PERCENT_EQ] = ACTIONS(1435),
    [anon_sym_GT_GT_EQ] = ACTIONS(1435),
    [anon_sym_LT_LT_EQ] = ACTIONS(1435),
    [anon_sym_CARET_EQ] = ACTIONS(1435),
    [anon_sym_QMARK] = ACTIONS(1435),
    [anon_sym_DOT_DOT] = ACTIONS(1437),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1435),
    [anon_sym_and] = ACTIONS(1435),
    [anon_sym_or] = ACTIONS(1435),
    [anon_sym_PIPE_PIPE] = ACTIONS(1437),
    [anon_sym_AMP_AMP] = ACTIONS(1437),
    [anon_sym_LT_LT] = ACTIONS(1437),
    [anon_sym_GT_GT] = ACTIONS(1437),
    [anon_sym_LT_EQ] = ACTIONS(1437),
    [anon_sym_GT] = ACTIONS(1437),
    [anon_sym_GT_EQ] = ACTIONS(1435),
    [anon_sym_CARET] = ACTIONS(1437),
    [anon_sym_PLUS] = ACTIONS(1437),
    [anon_sym_SLASH] = ACTIONS(1437),
    [anon_sym_PERCENT] = ACTIONS(1437),
    [anon_sym_EQ_EQ] = ACTIONS(1437),
    [anon_sym_BANG_EQ] = ACTIONS(1435),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1435),
    [anon_sym_LT_EQ_GT] = ACTIONS(1435),
    [anon_sym_EQ_TILDE] = ACTIONS(1435),
    [anon_sym_BANG_TILDE] = ACTIONS(1435),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1435),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1435),
    [sym__binary_star] = ACTIONS(1435),
  },
  [905] = {
    [sym_heredoc_body] = STATE(905),
    [ts_builtin_sym_end] = ACTIONS(1439),
    [anon_sym___END__] = ACTIONS(1439),
    [anon_sym_LBRACE] = ACTIONS(1439),
    [anon_sym_RBRACE] = ACTIONS(1439),
    [anon_sym_RPAREN] = ACTIONS(1439),
    [anon_sym_DOT] = ACTIONS(1441),
    [anon_sym_COMMA] = ACTIONS(1439),
    [anon_sym_PIPE] = ACTIONS(1441),
    [anon_sym_SEMI] = ACTIONS(1439),
    [anon_sym_STAR_STAR] = ACTIONS(1441),
    [anon_sym_AMP] = ACTIONS(1441),
    [anon_sym_EQ] = ACTIONS(1441),
    [anon_sym_LT] = ACTIONS(1441),
    [anon_sym_end] = ACTIONS(1439),
    [anon_sym_if] = ACTIONS(1439),
    [anon_sym_unless] = ACTIONS(1439),
    [anon_sym_while] = ACTIONS(1439),
    [anon_sym_until] = ACTIONS(1439),
    [anon_sym_rescue] = ACTIONS(1439),
    [anon_sym_do] = ACTIONS(1439),
    [anon_sym_when] = ACTIONS(1439),
    [anon_sym_elsif] = ACTIONS(1439),
    [anon_sym_else] = ACTIONS(1439),
    [anon_sym_then] = ACTIONS(1439),
    [anon_sym_ensure] = ACTIONS(1439),
    [anon_sym_EQ_GT] = ACTIONS(1439),
    [anon_sym_LBRACK] = ACTIONS(1439),
    [anon_sym_COLON_COLON2] = ACTIONS(1439),
    [anon_sym_AMP_DOT] = ACTIONS(1439),
    [anon_sym_PLUS_EQ] = ACTIONS(1439),
    [anon_sym_DASH_EQ] = ACTIONS(1439),
    [anon_sym_STAR_EQ] = ACTIONS(1439),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1439),
    [anon_sym_SLASH_EQ] = ACTIONS(1439),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1439),
    [anon_sym_PIPE_EQ] = ACTIONS(1439),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1439),
    [anon_sym_AMP_EQ] = ACTIONS(1439),
    [anon_sym_PERCENT_EQ] = ACTIONS(1439),
    [anon_sym_GT_GT_EQ] = ACTIONS(1439),
    [anon_sym_LT_LT_EQ] = ACTIONS(1439),
    [anon_sym_CARET_EQ] = ACTIONS(1439),
    [anon_sym_QMARK] = ACTIONS(1439),
    [anon_sym_DOT_DOT] = ACTIONS(1441),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1439),
    [anon_sym_and] = ACTIONS(1439),
    [anon_sym_or] = ACTIONS(1439),
    [anon_sym_PIPE_PIPE] = ACTIONS(1441),
    [anon_sym_AMP_AMP] = ACTIONS(1441),
    [anon_sym_LT_LT] = ACTIONS(1441),
    [anon_sym_GT_GT] = ACTIONS(1441),
    [anon_sym_LT_EQ] = ACTIONS(1441),
    [anon_sym_GT] = ACTIONS(1441),
    [anon_sym_GT_EQ] = ACTIONS(1439),
    [anon_sym_CARET] = ACTIONS(1441),
    [anon_sym_PLUS] = ACTIONS(1441),
    [anon_sym_SLASH] = ACTIONS(1441),
    [anon_sym_PERCENT] = ACTIONS(1441),
    [anon_sym_EQ_EQ] = ACTIONS(1441),
    [anon_sym_BANG_EQ] = ACTIONS(1439),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1439),
    [anon_sym_LT_EQ_GT] = ACTIONS(1439),
    [anon_sym_EQ_TILDE] = ACTIONS(1439),
    [anon_sym_BANG_TILDE] = ACTIONS(1439),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1439),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1439),
    [sym__binary_star] = ACTIONS(1439),
  },
  [906] = {
    [sym_heredoc_body] = STATE(906),
    [ts_builtin_sym_end] = ACTIONS(1443),
    [anon_sym___END__] = ACTIONS(1443),
    [anon_sym_LBRACE] = ACTIONS(1443),
    [anon_sym_RBRACE] = ACTIONS(1443),
    [anon_sym_RPAREN] = ACTIONS(1443),
    [anon_sym_DOT] = ACTIONS(1445),
    [anon_sym_COMMA] = ACTIONS(1443),
    [anon_sym_PIPE] = ACTIONS(1445),
    [anon_sym_SEMI] = ACTIONS(1443),
    [anon_sym_STAR_STAR] = ACTIONS(1445),
    [anon_sym_AMP] = ACTIONS(1445),
    [anon_sym_EQ] = ACTIONS(1445),
    [anon_sym_LT] = ACTIONS(1445),
    [anon_sym_end] = ACTIONS(1443),
    [anon_sym_if] = ACTIONS(1443),
    [anon_sym_unless] = ACTIONS(1443),
    [anon_sym_while] = ACTIONS(1443),
    [anon_sym_until] = ACTIONS(1443),
    [anon_sym_rescue] = ACTIONS(1443),
    [anon_sym_do] = ACTIONS(1443),
    [anon_sym_when] = ACTIONS(1443),
    [anon_sym_elsif] = ACTIONS(1443),
    [anon_sym_else] = ACTIONS(1443),
    [anon_sym_then] = ACTIONS(1443),
    [anon_sym_ensure] = ACTIONS(1443),
    [anon_sym_EQ_GT] = ACTIONS(1443),
    [anon_sym_LBRACK] = ACTIONS(1443),
    [anon_sym_COLON_COLON2] = ACTIONS(1443),
    [anon_sym_AMP_DOT] = ACTIONS(1443),
    [anon_sym_PLUS_EQ] = ACTIONS(1443),
    [anon_sym_DASH_EQ] = ACTIONS(1443),
    [anon_sym_STAR_EQ] = ACTIONS(1443),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1443),
    [anon_sym_SLASH_EQ] = ACTIONS(1443),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1443),
    [anon_sym_PIPE_EQ] = ACTIONS(1443),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1443),
    [anon_sym_AMP_EQ] = ACTIONS(1443),
    [anon_sym_PERCENT_EQ] = ACTIONS(1443),
    [anon_sym_GT_GT_EQ] = ACTIONS(1443),
    [anon_sym_LT_LT_EQ] = ACTIONS(1443),
    [anon_sym_CARET_EQ] = ACTIONS(1443),
    [anon_sym_QMARK] = ACTIONS(1443),
    [anon_sym_DOT_DOT] = ACTIONS(1445),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1443),
    [anon_sym_and] = ACTIONS(1443),
    [anon_sym_or] = ACTIONS(1443),
    [anon_sym_PIPE_PIPE] = ACTIONS(1445),
    [anon_sym_AMP_AMP] = ACTIONS(1445),
    [anon_sym_LT_LT] = ACTIONS(1445),
    [anon_sym_GT_GT] = ACTIONS(1445),
    [anon_sym_LT_EQ] = ACTIONS(1445),
    [anon_sym_GT] = ACTIONS(1445),
    [anon_sym_GT_EQ] = ACTIONS(1443),
    [anon_sym_CARET] = ACTIONS(1445),
    [anon_sym_PLUS] = ACTIONS(1445),
    [anon_sym_SLASH] = ACTIONS(1445),
    [anon_sym_PERCENT] = ACTIONS(1445),
    [anon_sym_EQ_EQ] = ACTIONS(1445),
    [anon_sym_BANG_EQ] = ACTIONS(1443),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1443),
    [anon_sym_LT_EQ_GT] = ACTIONS(1443),
    [anon_sym_EQ_TILDE] = ACTIONS(1443),
    [anon_sym_BANG_TILDE] = ACTIONS(1443),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1443),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1443),
    [sym__binary_star] = ACTIONS(1443),
  },
  [907] = {
    [sym_heredoc_body] = STATE(907),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(107),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(107),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_EQ_GT] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [908] = {
    [sym_heredoc_body] = STATE(908),
    [ts_builtin_sym_end] = ACTIONS(1447),
    [anon_sym___END__] = ACTIONS(1447),
    [anon_sym_LBRACE] = ACTIONS(1447),
    [anon_sym_RBRACE] = ACTIONS(1447),
    [anon_sym_RPAREN] = ACTIONS(1447),
    [anon_sym_DOT] = ACTIONS(1449),
    [anon_sym_COMMA] = ACTIONS(1447),
    [anon_sym_PIPE] = ACTIONS(1449),
    [anon_sym_SEMI] = ACTIONS(1447),
    [anon_sym_STAR_STAR] = ACTIONS(1449),
    [anon_sym_AMP] = ACTIONS(1449),
    [anon_sym_EQ] = ACTIONS(1449),
    [anon_sym_LT] = ACTIONS(1449),
    [anon_sym_end] = ACTIONS(1447),
    [anon_sym_if] = ACTIONS(1447),
    [anon_sym_unless] = ACTIONS(1447),
    [anon_sym_while] = ACTIONS(1447),
    [anon_sym_until] = ACTIONS(1447),
    [anon_sym_rescue] = ACTIONS(1447),
    [anon_sym_do] = ACTIONS(1447),
    [anon_sym_when] = ACTIONS(1447),
    [anon_sym_elsif] = ACTIONS(1447),
    [anon_sym_else] = ACTIONS(1447),
    [anon_sym_then] = ACTIONS(1447),
    [anon_sym_ensure] = ACTIONS(1447),
    [anon_sym_EQ_GT] = ACTIONS(1447),
    [anon_sym_LBRACK] = ACTIONS(1447),
    [anon_sym_COLON_COLON2] = ACTIONS(1447),
    [anon_sym_AMP_DOT] = ACTIONS(1447),
    [anon_sym_PLUS_EQ] = ACTIONS(1447),
    [anon_sym_DASH_EQ] = ACTIONS(1447),
    [anon_sym_STAR_EQ] = ACTIONS(1447),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1447),
    [anon_sym_SLASH_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1447),
    [anon_sym_AMP_EQ] = ACTIONS(1447),
    [anon_sym_PERCENT_EQ] = ACTIONS(1447),
    [anon_sym_GT_GT_EQ] = ACTIONS(1447),
    [anon_sym_LT_LT_EQ] = ACTIONS(1447),
    [anon_sym_CARET_EQ] = ACTIONS(1447),
    [anon_sym_QMARK] = ACTIONS(1447),
    [anon_sym_DOT_DOT] = ACTIONS(1449),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1447),
    [anon_sym_and] = ACTIONS(1447),
    [anon_sym_or] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE] = ACTIONS(1449),
    [anon_sym_AMP_AMP] = ACTIONS(1449),
    [anon_sym_LT_LT] = ACTIONS(1449),
    [anon_sym_GT_GT] = ACTIONS(1449),
    [anon_sym_LT_EQ] = ACTIONS(1449),
    [anon_sym_GT] = ACTIONS(1449),
    [anon_sym_GT_EQ] = ACTIONS(1447),
    [anon_sym_CARET] = ACTIONS(1449),
    [anon_sym_PLUS] = ACTIONS(1449),
    [anon_sym_SLASH] = ACTIONS(1449),
    [anon_sym_PERCENT] = ACTIONS(1449),
    [anon_sym_EQ_EQ] = ACTIONS(1449),
    [anon_sym_BANG_EQ] = ACTIONS(1447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1447),
    [anon_sym_LT_EQ_GT] = ACTIONS(1447),
    [anon_sym_EQ_TILDE] = ACTIONS(1447),
    [anon_sym_BANG_TILDE] = ACTIONS(1447),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1447),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1447),
    [sym__binary_star] = ACTIONS(1447),
  },
  [909] = {
    [sym_heredoc_body] = STATE(909),
    [ts_builtin_sym_end] = ACTIONS(1447),
    [anon_sym___END__] = ACTIONS(1447),
    [anon_sym_LBRACE] = ACTIONS(1447),
    [anon_sym_RBRACE] = ACTIONS(1447),
    [anon_sym_RPAREN] = ACTIONS(1447),
    [anon_sym_DOT] = ACTIONS(1449),
    [anon_sym_COMMA] = ACTIONS(1447),
    [anon_sym_PIPE] = ACTIONS(1449),
    [anon_sym_SEMI] = ACTIONS(1447),
    [anon_sym_STAR_STAR] = ACTIONS(1449),
    [anon_sym_AMP] = ACTIONS(1449),
    [anon_sym_EQ] = ACTIONS(1449),
    [anon_sym_LT] = ACTIONS(1449),
    [anon_sym_end] = ACTIONS(1447),
    [anon_sym_if] = ACTIONS(1447),
    [anon_sym_unless] = ACTIONS(1447),
    [anon_sym_while] = ACTIONS(1447),
    [anon_sym_until] = ACTIONS(1447),
    [anon_sym_rescue] = ACTIONS(1447),
    [anon_sym_do] = ACTIONS(1447),
    [anon_sym_when] = ACTIONS(1447),
    [anon_sym_elsif] = ACTIONS(1447),
    [anon_sym_else] = ACTIONS(1447),
    [anon_sym_then] = ACTIONS(1447),
    [anon_sym_ensure] = ACTIONS(1447),
    [anon_sym_EQ_GT] = ACTIONS(1447),
    [anon_sym_LBRACK] = ACTIONS(1447),
    [anon_sym_COLON_COLON2] = ACTIONS(1447),
    [anon_sym_AMP_DOT] = ACTIONS(1447),
    [anon_sym_PLUS_EQ] = ACTIONS(1447),
    [anon_sym_DASH_EQ] = ACTIONS(1447),
    [anon_sym_STAR_EQ] = ACTIONS(1447),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1447),
    [anon_sym_SLASH_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1447),
    [anon_sym_AMP_EQ] = ACTIONS(1447),
    [anon_sym_PERCENT_EQ] = ACTIONS(1447),
    [anon_sym_GT_GT_EQ] = ACTIONS(1447),
    [anon_sym_LT_LT_EQ] = ACTIONS(1447),
    [anon_sym_CARET_EQ] = ACTIONS(1447),
    [anon_sym_QMARK] = ACTIONS(1447),
    [anon_sym_DOT_DOT] = ACTIONS(1449),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1447),
    [anon_sym_and] = ACTIONS(1447),
    [anon_sym_or] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE] = ACTIONS(1449),
    [anon_sym_AMP_AMP] = ACTIONS(1449),
    [anon_sym_LT_LT] = ACTIONS(1449),
    [anon_sym_GT_GT] = ACTIONS(1449),
    [anon_sym_LT_EQ] = ACTIONS(1449),
    [anon_sym_GT] = ACTIONS(1449),
    [anon_sym_GT_EQ] = ACTIONS(1447),
    [anon_sym_CARET] = ACTIONS(1449),
    [anon_sym_PLUS] = ACTIONS(1449),
    [anon_sym_SLASH] = ACTIONS(1449),
    [anon_sym_PERCENT] = ACTIONS(1449),
    [anon_sym_EQ_EQ] = ACTIONS(1449),
    [anon_sym_BANG_EQ] = ACTIONS(1447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1447),
    [anon_sym_LT_EQ_GT] = ACTIONS(1447),
    [anon_sym_EQ_TILDE] = ACTIONS(1447),
    [anon_sym_BANG_TILDE] = ACTIONS(1447),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1447),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1447),
    [sym__binary_star] = ACTIONS(1447),
  },
  [910] = {
    [sym_heredoc_body] = STATE(910),
    [ts_builtin_sym_end] = ACTIONS(1413),
    [anon_sym___END__] = ACTIONS(1413),
    [anon_sym_LBRACE] = ACTIONS(1413),
    [anon_sym_RBRACE] = ACTIONS(1413),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [anon_sym_DOT] = ACTIONS(1417),
    [anon_sym_COMMA] = ACTIONS(1413),
    [anon_sym_PIPE] = ACTIONS(1417),
    [anon_sym_SEMI] = ACTIONS(1413),
    [anon_sym_STAR_STAR] = ACTIONS(1417),
    [anon_sym_AMP] = ACTIONS(1417),
    [anon_sym_EQ] = ACTIONS(1417),
    [anon_sym_LT] = ACTIONS(1417),
    [anon_sym_end] = ACTIONS(1413),
    [anon_sym_if] = ACTIONS(1413),
    [anon_sym_unless] = ACTIONS(1413),
    [anon_sym_while] = ACTIONS(1413),
    [anon_sym_until] = ACTIONS(1413),
    [anon_sym_rescue] = ACTIONS(1413),
    [anon_sym_do] = ACTIONS(1413),
    [anon_sym_when] = ACTIONS(1413),
    [anon_sym_elsif] = ACTIONS(1413),
    [anon_sym_else] = ACTIONS(1413),
    [anon_sym_then] = ACTIONS(1413),
    [anon_sym_ensure] = ACTIONS(1413),
    [anon_sym_EQ_GT] = ACTIONS(1413),
    [anon_sym_LBRACK] = ACTIONS(1413),
    [anon_sym_COLON_COLON2] = ACTIONS(1413),
    [anon_sym_AMP_DOT] = ACTIONS(1413),
    [anon_sym_PLUS_EQ] = ACTIONS(1413),
    [anon_sym_DASH_EQ] = ACTIONS(1413),
    [anon_sym_STAR_EQ] = ACTIONS(1413),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1413),
    [anon_sym_SLASH_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1413),
    [anon_sym_AMP_EQ] = ACTIONS(1413),
    [anon_sym_PERCENT_EQ] = ACTIONS(1413),
    [anon_sym_GT_GT_EQ] = ACTIONS(1413),
    [anon_sym_LT_LT_EQ] = ACTIONS(1413),
    [anon_sym_CARET_EQ] = ACTIONS(1413),
    [anon_sym_QMARK] = ACTIONS(1413),
    [anon_sym_DOT_DOT] = ACTIONS(1417),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1413),
    [anon_sym_and] = ACTIONS(1413),
    [anon_sym_or] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE] = ACTIONS(1417),
    [anon_sym_AMP_AMP] = ACTIONS(1417),
    [anon_sym_LT_LT] = ACTIONS(1417),
    [anon_sym_GT_GT] = ACTIONS(1417),
    [anon_sym_LT_EQ] = ACTIONS(1417),
    [anon_sym_GT] = ACTIONS(1417),
    [anon_sym_GT_EQ] = ACTIONS(1413),
    [anon_sym_CARET] = ACTIONS(1417),
    [anon_sym_PLUS] = ACTIONS(1417),
    [anon_sym_SLASH] = ACTIONS(1417),
    [anon_sym_PERCENT] = ACTIONS(1417),
    [anon_sym_EQ_EQ] = ACTIONS(1417),
    [anon_sym_BANG_EQ] = ACTIONS(1413),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1413),
    [anon_sym_LT_EQ_GT] = ACTIONS(1413),
    [anon_sym_EQ_TILDE] = ACTIONS(1413),
    [anon_sym_BANG_TILDE] = ACTIONS(1413),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1413),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1413),
    [sym__binary_star] = ACTIONS(1413),
  },
  [911] = {
    [sym_heredoc_body] = STATE(911),
    [ts_builtin_sym_end] = ACTIONS(1451),
    [anon_sym___END__] = ACTIONS(1451),
    [anon_sym_LBRACE] = ACTIONS(1451),
    [anon_sym_RBRACE] = ACTIONS(1451),
    [anon_sym_RPAREN] = ACTIONS(1451),
    [anon_sym_DOT] = ACTIONS(1453),
    [anon_sym_COMMA] = ACTIONS(1451),
    [anon_sym_PIPE] = ACTIONS(1453),
    [anon_sym_SEMI] = ACTIONS(1451),
    [anon_sym_STAR_STAR] = ACTIONS(1453),
    [anon_sym_AMP] = ACTIONS(1453),
    [anon_sym_EQ] = ACTIONS(1453),
    [anon_sym_LT] = ACTIONS(1453),
    [anon_sym_end] = ACTIONS(1451),
    [anon_sym_if] = ACTIONS(1451),
    [anon_sym_unless] = ACTIONS(1451),
    [anon_sym_while] = ACTIONS(1451),
    [anon_sym_until] = ACTIONS(1451),
    [anon_sym_rescue] = ACTIONS(1451),
    [anon_sym_do] = ACTIONS(1451),
    [anon_sym_when] = ACTIONS(1451),
    [anon_sym_elsif] = ACTIONS(1451),
    [anon_sym_else] = ACTIONS(1451),
    [anon_sym_then] = ACTIONS(1451),
    [anon_sym_ensure] = ACTIONS(1451),
    [anon_sym_EQ_GT] = ACTIONS(1451),
    [anon_sym_LBRACK] = ACTIONS(1451),
    [anon_sym_COLON_COLON2] = ACTIONS(1451),
    [anon_sym_AMP_DOT] = ACTIONS(1451),
    [anon_sym_PLUS_EQ] = ACTIONS(1451),
    [anon_sym_DASH_EQ] = ACTIONS(1451),
    [anon_sym_STAR_EQ] = ACTIONS(1451),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1451),
    [anon_sym_SLASH_EQ] = ACTIONS(1451),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1451),
    [anon_sym_PIPE_EQ] = ACTIONS(1451),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1451),
    [anon_sym_AMP_EQ] = ACTIONS(1451),
    [anon_sym_PERCENT_EQ] = ACTIONS(1451),
    [anon_sym_GT_GT_EQ] = ACTIONS(1451),
    [anon_sym_LT_LT_EQ] = ACTIONS(1451),
    [anon_sym_CARET_EQ] = ACTIONS(1451),
    [anon_sym_QMARK] = ACTIONS(1451),
    [anon_sym_DOT_DOT] = ACTIONS(1453),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1451),
    [anon_sym_and] = ACTIONS(1451),
    [anon_sym_or] = ACTIONS(1451),
    [anon_sym_PIPE_PIPE] = ACTIONS(1453),
    [anon_sym_AMP_AMP] = ACTIONS(1453),
    [anon_sym_LT_LT] = ACTIONS(1453),
    [anon_sym_GT_GT] = ACTIONS(1453),
    [anon_sym_LT_EQ] = ACTIONS(1453),
    [anon_sym_GT] = ACTIONS(1453),
    [anon_sym_GT_EQ] = ACTIONS(1451),
    [anon_sym_CARET] = ACTIONS(1453),
    [anon_sym_PLUS] = ACTIONS(1453),
    [anon_sym_SLASH] = ACTIONS(1453),
    [anon_sym_PERCENT] = ACTIONS(1453),
    [anon_sym_EQ_EQ] = ACTIONS(1453),
    [anon_sym_BANG_EQ] = ACTIONS(1451),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1451),
    [anon_sym_LT_EQ_GT] = ACTIONS(1451),
    [anon_sym_EQ_TILDE] = ACTIONS(1451),
    [anon_sym_BANG_TILDE] = ACTIONS(1451),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1451),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1451),
    [sym__binary_star] = ACTIONS(1451),
  },
  [912] = {
    [sym_heredoc_body] = STATE(912),
    [ts_builtin_sym_end] = ACTIONS(1455),
    [anon_sym___END__] = ACTIONS(1455),
    [anon_sym_LBRACE] = ACTIONS(1455),
    [anon_sym_RBRACE] = ACTIONS(1455),
    [anon_sym_RPAREN] = ACTIONS(1455),
    [anon_sym_DOT] = ACTIONS(1457),
    [anon_sym_COMMA] = ACTIONS(1455),
    [anon_sym_PIPE] = ACTIONS(1457),
    [anon_sym_SEMI] = ACTIONS(1455),
    [anon_sym_STAR_STAR] = ACTIONS(1457),
    [anon_sym_AMP] = ACTIONS(1457),
    [anon_sym_EQ] = ACTIONS(1457),
    [anon_sym_LT] = ACTIONS(1457),
    [anon_sym_end] = ACTIONS(1455),
    [anon_sym_if] = ACTIONS(1455),
    [anon_sym_unless] = ACTIONS(1455),
    [anon_sym_while] = ACTIONS(1455),
    [anon_sym_until] = ACTIONS(1455),
    [anon_sym_rescue] = ACTIONS(1455),
    [anon_sym_do] = ACTIONS(1455),
    [anon_sym_when] = ACTIONS(1455),
    [anon_sym_elsif] = ACTIONS(1455),
    [anon_sym_else] = ACTIONS(1455),
    [anon_sym_then] = ACTIONS(1455),
    [anon_sym_ensure] = ACTIONS(1455),
    [anon_sym_EQ_GT] = ACTIONS(1455),
    [anon_sym_LBRACK] = ACTIONS(1455),
    [anon_sym_COLON_COLON2] = ACTIONS(1455),
    [anon_sym_AMP_DOT] = ACTIONS(1455),
    [anon_sym_PLUS_EQ] = ACTIONS(1455),
    [anon_sym_DASH_EQ] = ACTIONS(1455),
    [anon_sym_STAR_EQ] = ACTIONS(1455),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1455),
    [anon_sym_SLASH_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1455),
    [anon_sym_AMP_EQ] = ACTIONS(1455),
    [anon_sym_PERCENT_EQ] = ACTIONS(1455),
    [anon_sym_GT_GT_EQ] = ACTIONS(1455),
    [anon_sym_LT_LT_EQ] = ACTIONS(1455),
    [anon_sym_CARET_EQ] = ACTIONS(1455),
    [anon_sym_QMARK] = ACTIONS(1455),
    [anon_sym_DOT_DOT] = ACTIONS(1457),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1455),
    [anon_sym_and] = ACTIONS(1455),
    [anon_sym_or] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE] = ACTIONS(1457),
    [anon_sym_AMP_AMP] = ACTIONS(1457),
    [anon_sym_LT_LT] = ACTIONS(1457),
    [anon_sym_GT_GT] = ACTIONS(1457),
    [anon_sym_LT_EQ] = ACTIONS(1457),
    [anon_sym_GT] = ACTIONS(1457),
    [anon_sym_GT_EQ] = ACTIONS(1455),
    [anon_sym_CARET] = ACTIONS(1457),
    [anon_sym_PLUS] = ACTIONS(1457),
    [anon_sym_SLASH] = ACTIONS(1457),
    [anon_sym_PERCENT] = ACTIONS(1457),
    [anon_sym_EQ_EQ] = ACTIONS(1457),
    [anon_sym_BANG_EQ] = ACTIONS(1455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1455),
    [anon_sym_LT_EQ_GT] = ACTIONS(1455),
    [anon_sym_EQ_TILDE] = ACTIONS(1455),
    [anon_sym_BANG_TILDE] = ACTIONS(1455),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1455),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1455),
    [sym__binary_star] = ACTIONS(1455),
  },
  [913] = {
    [sym_heredoc_body] = STATE(913),
    [ts_builtin_sym_end] = ACTIONS(793),
    [anon_sym___END__] = ACTIONS(793),
    [anon_sym_LBRACE] = ACTIONS(793),
    [anon_sym_RBRACE] = ACTIONS(793),
    [anon_sym_RPAREN] = ACTIONS(793),
    [anon_sym_DOT] = ACTIONS(791),
    [anon_sym_COMMA] = ACTIONS(793),
    [anon_sym_PIPE] = ACTIONS(791),
    [anon_sym_SEMI] = ACTIONS(793),
    [anon_sym_STAR_STAR] = ACTIONS(791),
    [anon_sym_AMP] = ACTIONS(791),
    [anon_sym_EQ] = ACTIONS(791),
    [anon_sym_LT] = ACTIONS(791),
    [anon_sym_end] = ACTIONS(793),
    [anon_sym_if] = ACTIONS(793),
    [anon_sym_unless] = ACTIONS(793),
    [anon_sym_while] = ACTIONS(793),
    [anon_sym_until] = ACTIONS(793),
    [anon_sym_rescue] = ACTIONS(793),
    [anon_sym_do] = ACTIONS(793),
    [anon_sym_when] = ACTIONS(793),
    [anon_sym_elsif] = ACTIONS(793),
    [anon_sym_else] = ACTIONS(793),
    [anon_sym_then] = ACTIONS(793),
    [anon_sym_ensure] = ACTIONS(793),
    [anon_sym_LBRACK] = ACTIONS(793),
    [anon_sym_COLON_COLON2] = ACTIONS(793),
    [anon_sym_AMP_DOT] = ACTIONS(793),
    [anon_sym_LPAREN2] = ACTIONS(793),
    [anon_sym_PLUS_EQ] = ACTIONS(793),
    [anon_sym_DASH_EQ] = ACTIONS(793),
    [anon_sym_STAR_EQ] = ACTIONS(793),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(793),
    [anon_sym_SLASH_EQ] = ACTIONS(793),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(793),
    [anon_sym_PIPE_EQ] = ACTIONS(793),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(793),
    [anon_sym_AMP_EQ] = ACTIONS(793),
    [anon_sym_PERCENT_EQ] = ACTIONS(793),
    [anon_sym_GT_GT_EQ] = ACTIONS(793),
    [anon_sym_LT_LT_EQ] = ACTIONS(793),
    [anon_sym_CARET_EQ] = ACTIONS(793),
    [anon_sym_QMARK] = ACTIONS(793),
    [anon_sym_DOT_DOT] = ACTIONS(791),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(793),
    [anon_sym_and] = ACTIONS(793),
    [anon_sym_or] = ACTIONS(793),
    [anon_sym_PIPE_PIPE] = ACTIONS(791),
    [anon_sym_AMP_AMP] = ACTIONS(791),
    [anon_sym_LT_LT] = ACTIONS(791),
    [anon_sym_GT_GT] = ACTIONS(791),
    [anon_sym_LT_EQ] = ACTIONS(791),
    [anon_sym_GT] = ACTIONS(791),
    [anon_sym_GT_EQ] = ACTIONS(793),
    [anon_sym_CARET] = ACTIONS(791),
    [anon_sym_PLUS] = ACTIONS(791),
    [anon_sym_SLASH] = ACTIONS(791),
    [anon_sym_PERCENT] = ACTIONS(791),
    [anon_sym_EQ_EQ] = ACTIONS(791),
    [anon_sym_BANG_EQ] = ACTIONS(793),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(793),
    [anon_sym_LT_EQ_GT] = ACTIONS(793),
    [anon_sym_EQ_TILDE] = ACTIONS(793),
    [anon_sym_BANG_TILDE] = ACTIONS(793),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(793),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(793),
    [sym__binary_star] = ACTIONS(793),
  },
  [914] = {
    [sym_heredoc_body] = STATE(914),
    [ts_builtin_sym_end] = ACTIONS(1455),
    [anon_sym___END__] = ACTIONS(1455),
    [anon_sym_LBRACE] = ACTIONS(1455),
    [anon_sym_RBRACE] = ACTIONS(1455),
    [anon_sym_RPAREN] = ACTIONS(1455),
    [anon_sym_DOT] = ACTIONS(1457),
    [anon_sym_COMMA] = ACTIONS(1455),
    [anon_sym_PIPE] = ACTIONS(1457),
    [anon_sym_SEMI] = ACTIONS(1455),
    [anon_sym_STAR_STAR] = ACTIONS(1457),
    [anon_sym_AMP] = ACTIONS(1457),
    [anon_sym_EQ] = ACTIONS(1457),
    [anon_sym_LT] = ACTIONS(1457),
    [anon_sym_end] = ACTIONS(1455),
    [anon_sym_if] = ACTIONS(1455),
    [anon_sym_unless] = ACTIONS(1455),
    [anon_sym_while] = ACTIONS(1455),
    [anon_sym_until] = ACTIONS(1455),
    [anon_sym_rescue] = ACTIONS(1455),
    [anon_sym_do] = ACTIONS(1455),
    [anon_sym_when] = ACTIONS(1455),
    [anon_sym_elsif] = ACTIONS(1455),
    [anon_sym_else] = ACTIONS(1455),
    [anon_sym_then] = ACTIONS(1455),
    [anon_sym_ensure] = ACTIONS(1455),
    [anon_sym_EQ_GT] = ACTIONS(1455),
    [anon_sym_LBRACK] = ACTIONS(1455),
    [anon_sym_COLON_COLON2] = ACTIONS(1455),
    [anon_sym_AMP_DOT] = ACTIONS(1455),
    [anon_sym_PLUS_EQ] = ACTIONS(1455),
    [anon_sym_DASH_EQ] = ACTIONS(1455),
    [anon_sym_STAR_EQ] = ACTIONS(1455),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1455),
    [anon_sym_SLASH_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1455),
    [anon_sym_AMP_EQ] = ACTIONS(1455),
    [anon_sym_PERCENT_EQ] = ACTIONS(1455),
    [anon_sym_GT_GT_EQ] = ACTIONS(1455),
    [anon_sym_LT_LT_EQ] = ACTIONS(1455),
    [anon_sym_CARET_EQ] = ACTIONS(1455),
    [anon_sym_QMARK] = ACTIONS(1455),
    [anon_sym_DOT_DOT] = ACTIONS(1457),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1455),
    [anon_sym_and] = ACTIONS(1455),
    [anon_sym_or] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE] = ACTIONS(1457),
    [anon_sym_AMP_AMP] = ACTIONS(1457),
    [anon_sym_LT_LT] = ACTIONS(1457),
    [anon_sym_GT_GT] = ACTIONS(1457),
    [anon_sym_LT_EQ] = ACTIONS(1457),
    [anon_sym_GT] = ACTIONS(1457),
    [anon_sym_GT_EQ] = ACTIONS(1455),
    [anon_sym_CARET] = ACTIONS(1457),
    [anon_sym_PLUS] = ACTIONS(1457),
    [anon_sym_SLASH] = ACTIONS(1457),
    [anon_sym_PERCENT] = ACTIONS(1457),
    [anon_sym_EQ_EQ] = ACTIONS(1457),
    [anon_sym_BANG_EQ] = ACTIONS(1455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1455),
    [anon_sym_LT_EQ_GT] = ACTIONS(1455),
    [anon_sym_EQ_TILDE] = ACTIONS(1455),
    [anon_sym_BANG_TILDE] = ACTIONS(1455),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1455),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1455),
    [sym__binary_star] = ACTIONS(1455),
  },
  [915] = {
    [sym_heredoc_body] = STATE(915),
    [ts_builtin_sym_end] = ACTIONS(1401),
    [anon_sym___END__] = ACTIONS(1401),
    [anon_sym_LBRACE] = ACTIONS(1401),
    [anon_sym_RBRACE] = ACTIONS(1401),
    [anon_sym_RPAREN] = ACTIONS(1401),
    [anon_sym_DOT] = ACTIONS(1403),
    [anon_sym_COMMA] = ACTIONS(1401),
    [anon_sym_PIPE] = ACTIONS(1403),
    [anon_sym_SEMI] = ACTIONS(1401),
    [anon_sym_STAR_STAR] = ACTIONS(1403),
    [anon_sym_AMP] = ACTIONS(1403),
    [anon_sym_EQ] = ACTIONS(1403),
    [anon_sym_LT] = ACTIONS(1403),
    [anon_sym_end] = ACTIONS(1401),
    [anon_sym_if] = ACTIONS(1401),
    [anon_sym_unless] = ACTIONS(1401),
    [anon_sym_while] = ACTIONS(1401),
    [anon_sym_until] = ACTIONS(1401),
    [anon_sym_rescue] = ACTIONS(1401),
    [anon_sym_do] = ACTIONS(1401),
    [anon_sym_when] = ACTIONS(1401),
    [anon_sym_elsif] = ACTIONS(1401),
    [anon_sym_else] = ACTIONS(1401),
    [anon_sym_then] = ACTIONS(1401),
    [anon_sym_ensure] = ACTIONS(1401),
    [anon_sym_LBRACK] = ACTIONS(1401),
    [anon_sym_COLON_COLON2] = ACTIONS(1401),
    [anon_sym_AMP_DOT] = ACTIONS(1401),
    [anon_sym_PLUS_EQ] = ACTIONS(1401),
    [anon_sym_DASH_EQ] = ACTIONS(1401),
    [anon_sym_STAR_EQ] = ACTIONS(1401),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1401),
    [anon_sym_SLASH_EQ] = ACTIONS(1401),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1401),
    [anon_sym_PIPE_EQ] = ACTIONS(1401),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1401),
    [anon_sym_AMP_EQ] = ACTIONS(1401),
    [anon_sym_PERCENT_EQ] = ACTIONS(1401),
    [anon_sym_GT_GT_EQ] = ACTIONS(1401),
    [anon_sym_LT_LT_EQ] = ACTIONS(1401),
    [anon_sym_CARET_EQ] = ACTIONS(1401),
    [anon_sym_QMARK] = ACTIONS(1401),
    [anon_sym_DOT_DOT] = ACTIONS(1403),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1401),
    [anon_sym_and] = ACTIONS(1401),
    [anon_sym_or] = ACTIONS(1401),
    [anon_sym_PIPE_PIPE] = ACTIONS(1403),
    [anon_sym_AMP_AMP] = ACTIONS(1403),
    [anon_sym_LT_LT] = ACTIONS(1403),
    [anon_sym_GT_GT] = ACTIONS(1403),
    [anon_sym_LT_EQ] = ACTIONS(1403),
    [anon_sym_GT] = ACTIONS(1403),
    [anon_sym_GT_EQ] = ACTIONS(1401),
    [anon_sym_CARET] = ACTIONS(1403),
    [anon_sym_PLUS] = ACTIONS(1403),
    [anon_sym_SLASH] = ACTIONS(1403),
    [anon_sym_PERCENT] = ACTIONS(1403),
    [anon_sym_EQ_EQ] = ACTIONS(1403),
    [anon_sym_BANG_EQ] = ACTIONS(1401),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1401),
    [anon_sym_LT_EQ_GT] = ACTIONS(1401),
    [anon_sym_EQ_TILDE] = ACTIONS(1401),
    [anon_sym_BANG_TILDE] = ACTIONS(1401),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1401),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1401),
    [sym__binary_star] = ACTIONS(1401),
  },
  [916] = {
    [sym_heredoc_body] = STATE(916),
    [ts_builtin_sym_end] = ACTIONS(1405),
    [anon_sym___END__] = ACTIONS(1405),
    [anon_sym_LBRACE] = ACTIONS(1405),
    [anon_sym_RBRACE] = ACTIONS(1405),
    [anon_sym_RPAREN] = ACTIONS(1405),
    [anon_sym_DOT] = ACTIONS(1407),
    [anon_sym_COMMA] = ACTIONS(1405),
    [anon_sym_PIPE] = ACTIONS(1407),
    [anon_sym_SEMI] = ACTIONS(1405),
    [anon_sym_STAR_STAR] = ACTIONS(1407),
    [anon_sym_AMP] = ACTIONS(1407),
    [anon_sym_EQ] = ACTIONS(1407),
    [anon_sym_LT] = ACTIONS(1407),
    [anon_sym_end] = ACTIONS(1405),
    [anon_sym_if] = ACTIONS(1405),
    [anon_sym_unless] = ACTIONS(1405),
    [anon_sym_while] = ACTIONS(1405),
    [anon_sym_until] = ACTIONS(1405),
    [anon_sym_rescue] = ACTIONS(1405),
    [anon_sym_do] = ACTIONS(1405),
    [anon_sym_when] = ACTIONS(1405),
    [anon_sym_elsif] = ACTIONS(1405),
    [anon_sym_else] = ACTIONS(1405),
    [anon_sym_then] = ACTIONS(1405),
    [anon_sym_ensure] = ACTIONS(1405),
    [anon_sym_LBRACK] = ACTIONS(1405),
    [anon_sym_COLON_COLON2] = ACTIONS(1405),
    [anon_sym_AMP_DOT] = ACTIONS(1405),
    [anon_sym_PLUS_EQ] = ACTIONS(1405),
    [anon_sym_DASH_EQ] = ACTIONS(1405),
    [anon_sym_STAR_EQ] = ACTIONS(1405),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1405),
    [anon_sym_SLASH_EQ] = ACTIONS(1405),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1405),
    [anon_sym_PIPE_EQ] = ACTIONS(1405),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1405),
    [anon_sym_AMP_EQ] = ACTIONS(1405),
    [anon_sym_PERCENT_EQ] = ACTIONS(1405),
    [anon_sym_GT_GT_EQ] = ACTIONS(1405),
    [anon_sym_LT_LT_EQ] = ACTIONS(1405),
    [anon_sym_CARET_EQ] = ACTIONS(1405),
    [anon_sym_QMARK] = ACTIONS(1405),
    [anon_sym_DOT_DOT] = ACTIONS(1407),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1405),
    [anon_sym_and] = ACTIONS(1405),
    [anon_sym_or] = ACTIONS(1405),
    [anon_sym_PIPE_PIPE] = ACTIONS(1407),
    [anon_sym_AMP_AMP] = ACTIONS(1407),
    [anon_sym_LT_LT] = ACTIONS(1407),
    [anon_sym_GT_GT] = ACTIONS(1407),
    [anon_sym_LT_EQ] = ACTIONS(1407),
    [anon_sym_GT] = ACTIONS(1407),
    [anon_sym_GT_EQ] = ACTIONS(1405),
    [anon_sym_CARET] = ACTIONS(1407),
    [anon_sym_PLUS] = ACTIONS(1407),
    [anon_sym_SLASH] = ACTIONS(1407),
    [anon_sym_PERCENT] = ACTIONS(1407),
    [anon_sym_EQ_EQ] = ACTIONS(1407),
    [anon_sym_BANG_EQ] = ACTIONS(1405),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1405),
    [anon_sym_LT_EQ_GT] = ACTIONS(1405),
    [anon_sym_EQ_TILDE] = ACTIONS(1405),
    [anon_sym_BANG_TILDE] = ACTIONS(1405),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1405),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1405),
    [sym__binary_star] = ACTIONS(1405),
  },
  [917] = {
    [sym_heredoc_body] = STATE(917),
    [ts_builtin_sym_end] = ACTIONS(1423),
    [anon_sym___END__] = ACTIONS(1423),
    [anon_sym_LBRACE] = ACTIONS(1423),
    [anon_sym_RBRACE] = ACTIONS(1423),
    [anon_sym_RPAREN] = ACTIONS(1423),
    [anon_sym_DOT] = ACTIONS(1425),
    [anon_sym_COMMA] = ACTIONS(1423),
    [anon_sym_PIPE] = ACTIONS(1425),
    [anon_sym_SEMI] = ACTIONS(1423),
    [anon_sym_STAR_STAR] = ACTIONS(1425),
    [anon_sym_AMP] = ACTIONS(1425),
    [anon_sym_EQ] = ACTIONS(1425),
    [anon_sym_LT] = ACTIONS(1425),
    [anon_sym_end] = ACTIONS(1423),
    [anon_sym_if] = ACTIONS(1423),
    [anon_sym_unless] = ACTIONS(1423),
    [anon_sym_while] = ACTIONS(1423),
    [anon_sym_until] = ACTIONS(1423),
    [anon_sym_rescue] = ACTIONS(1423),
    [anon_sym_do] = ACTIONS(1423),
    [anon_sym_when] = ACTIONS(1423),
    [anon_sym_elsif] = ACTIONS(1423),
    [anon_sym_else] = ACTIONS(1423),
    [anon_sym_then] = ACTIONS(1423),
    [anon_sym_ensure] = ACTIONS(1423),
    [anon_sym_LBRACK] = ACTIONS(1423),
    [anon_sym_COLON_COLON2] = ACTIONS(1423),
    [anon_sym_AMP_DOT] = ACTIONS(1423),
    [anon_sym_PLUS_EQ] = ACTIONS(1423),
    [anon_sym_DASH_EQ] = ACTIONS(1423),
    [anon_sym_STAR_EQ] = ACTIONS(1423),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1423),
    [anon_sym_SLASH_EQ] = ACTIONS(1423),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1423),
    [anon_sym_PIPE_EQ] = ACTIONS(1423),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1423),
    [anon_sym_AMP_EQ] = ACTIONS(1423),
    [anon_sym_PERCENT_EQ] = ACTIONS(1423),
    [anon_sym_GT_GT_EQ] = ACTIONS(1423),
    [anon_sym_LT_LT_EQ] = ACTIONS(1423),
    [anon_sym_CARET_EQ] = ACTIONS(1423),
    [anon_sym_QMARK] = ACTIONS(1423),
    [anon_sym_DOT_DOT] = ACTIONS(1425),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1423),
    [anon_sym_and] = ACTIONS(1423),
    [anon_sym_or] = ACTIONS(1423),
    [anon_sym_PIPE_PIPE] = ACTIONS(1425),
    [anon_sym_AMP_AMP] = ACTIONS(1425),
    [anon_sym_LT_LT] = ACTIONS(1425),
    [anon_sym_GT_GT] = ACTIONS(1425),
    [anon_sym_LT_EQ] = ACTIONS(1425),
    [anon_sym_GT] = ACTIONS(1425),
    [anon_sym_GT_EQ] = ACTIONS(1423),
    [anon_sym_CARET] = ACTIONS(1425),
    [anon_sym_PLUS] = ACTIONS(1425),
    [anon_sym_SLASH] = ACTIONS(1425),
    [anon_sym_PERCENT] = ACTIONS(1425),
    [anon_sym_EQ_EQ] = ACTIONS(1425),
    [anon_sym_BANG_EQ] = ACTIONS(1423),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1423),
    [anon_sym_LT_EQ_GT] = ACTIONS(1423),
    [anon_sym_EQ_TILDE] = ACTIONS(1423),
    [anon_sym_BANG_TILDE] = ACTIONS(1423),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1423),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1423),
    [sym__binary_star] = ACTIONS(1423),
  },
  [918] = {
    [sym_heredoc_body] = STATE(918),
    [ts_builtin_sym_end] = ACTIONS(107),
    [anon_sym___END__] = ACTIONS(107),
    [anon_sym_LBRACE] = ACTIONS(107),
    [anon_sym_RBRACE] = ACTIONS(107),
    [anon_sym_RPAREN] = ACTIONS(107),
    [anon_sym_DOT] = ACTIONS(111),
    [anon_sym_COMMA] = ACTIONS(107),
    [anon_sym_PIPE] = ACTIONS(111),
    [anon_sym_SEMI] = ACTIONS(107),
    [anon_sym_STAR_STAR] = ACTIONS(111),
    [anon_sym_AMP] = ACTIONS(111),
    [anon_sym_EQ] = ACTIONS(111),
    [anon_sym_LT] = ACTIONS(111),
    [anon_sym_end] = ACTIONS(107),
    [anon_sym_if] = ACTIONS(107),
    [anon_sym_unless] = ACTIONS(107),
    [anon_sym_while] = ACTIONS(107),
    [anon_sym_until] = ACTIONS(107),
    [anon_sym_rescue] = ACTIONS(107),
    [anon_sym_do] = ACTIONS(107),
    [anon_sym_when] = ACTIONS(107),
    [anon_sym_elsif] = ACTIONS(107),
    [anon_sym_else] = ACTIONS(107),
    [anon_sym_then] = ACTIONS(107),
    [anon_sym_ensure] = ACTIONS(107),
    [anon_sym_LBRACK] = ACTIONS(107),
    [anon_sym_COLON_COLON2] = ACTIONS(107),
    [anon_sym_AMP_DOT] = ACTIONS(107),
    [anon_sym_PLUS_EQ] = ACTIONS(107),
    [anon_sym_DASH_EQ] = ACTIONS(107),
    [anon_sym_STAR_EQ] = ACTIONS(107),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(107),
    [anon_sym_SLASH_EQ] = ACTIONS(107),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(107),
    [anon_sym_PIPE_EQ] = ACTIONS(107),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(107),
    [anon_sym_AMP_EQ] = ACTIONS(107),
    [anon_sym_PERCENT_EQ] = ACTIONS(107),
    [anon_sym_GT_GT_EQ] = ACTIONS(107),
    [anon_sym_LT_LT_EQ] = ACTIONS(107),
    [anon_sym_CARET_EQ] = ACTIONS(107),
    [anon_sym_QMARK] = ACTIONS(107),
    [anon_sym_DOT_DOT] = ACTIONS(111),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(107),
    [anon_sym_and] = ACTIONS(107),
    [anon_sym_or] = ACTIONS(107),
    [anon_sym_PIPE_PIPE] = ACTIONS(111),
    [anon_sym_AMP_AMP] = ACTIONS(111),
    [anon_sym_LT_LT] = ACTIONS(111),
    [anon_sym_GT_GT] = ACTIONS(111),
    [anon_sym_LT_EQ] = ACTIONS(111),
    [anon_sym_GT] = ACTIONS(111),
    [anon_sym_GT_EQ] = ACTIONS(107),
    [anon_sym_CARET] = ACTIONS(111),
    [anon_sym_PLUS] = ACTIONS(111),
    [anon_sym_SLASH] = ACTIONS(111),
    [anon_sym_PERCENT] = ACTIONS(111),
    [anon_sym_EQ_EQ] = ACTIONS(111),
    [anon_sym_BANG_EQ] = ACTIONS(107),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(107),
    [anon_sym_LT_EQ_GT] = ACTIONS(107),
    [anon_sym_EQ_TILDE] = ACTIONS(107),
    [anon_sym_BANG_TILDE] = ACTIONS(107),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(107),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(107),
    [sym__binary_star] = ACTIONS(107),
  },
  [919] = {
    [sym_heredoc_body] = STATE(919),
    [ts_builtin_sym_end] = ACTIONS(1413),
    [anon_sym___END__] = ACTIONS(1413),
    [anon_sym_LBRACE] = ACTIONS(1413),
    [anon_sym_RBRACE] = ACTIONS(1413),
    [anon_sym_RPAREN] = ACTIONS(1413),
    [anon_sym_DOT] = ACTIONS(1417),
    [anon_sym_COMMA] = ACTIONS(1413),
    [anon_sym_PIPE] = ACTIONS(1417),
    [anon_sym_SEMI] = ACTIONS(1413),
    [anon_sym_STAR_STAR] = ACTIONS(1417),
    [anon_sym_AMP] = ACTIONS(1417),
    [anon_sym_EQ] = ACTIONS(1417),
    [anon_sym_LT] = ACTIONS(1417),
    [anon_sym_end] = ACTIONS(1413),
    [anon_sym_if] = ACTIONS(1413),
    [anon_sym_unless] = ACTIONS(1413),
    [anon_sym_while] = ACTIONS(1413),
    [anon_sym_until] = ACTIONS(1413),
    [anon_sym_rescue] = ACTIONS(1413),
    [anon_sym_do] = ACTIONS(1413),
    [anon_sym_when] = ACTIONS(1413),
    [anon_sym_elsif] = ACTIONS(1413),
    [anon_sym_else] = ACTIONS(1413),
    [anon_sym_then] = ACTIONS(1413),
    [anon_sym_ensure] = ACTIONS(1413),
    [anon_sym_LBRACK] = ACTIONS(1413),
    [anon_sym_COLON_COLON2] = ACTIONS(1413),
    [anon_sym_AMP_DOT] = ACTIONS(1413),
    [anon_sym_PLUS_EQ] = ACTIONS(1413),
    [anon_sym_DASH_EQ] = ACTIONS(1413),
    [anon_sym_STAR_EQ] = ACTIONS(1413),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1413),
    [anon_sym_SLASH_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_PIPE_EQ] = ACTIONS(1413),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1413),
    [anon_sym_AMP_EQ] = ACTIONS(1413),
    [anon_sym_PERCENT_EQ] = ACTIONS(1413),
    [anon_sym_GT_GT_EQ] = ACTIONS(1413),
    [anon_sym_LT_LT_EQ] = ACTIONS(1413),
    [anon_sym_CARET_EQ] = ACTIONS(1413),
    [anon_sym_QMARK] = ACTIONS(1413),
    [anon_sym_DOT_DOT] = ACTIONS(1417),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1413),
    [anon_sym_and] = ACTIONS(1413),
    [anon_sym_or] = ACTIONS(1413),
    [anon_sym_PIPE_PIPE] = ACTIONS(1417),
    [anon_sym_AMP_AMP] = ACTIONS(1417),
    [anon_sym_LT_LT] = ACTIONS(1417),
    [anon_sym_GT_GT] = ACTIONS(1417),
    [anon_sym_LT_EQ] = ACTIONS(1417),
    [anon_sym_GT] = ACTIONS(1417),
    [anon_sym_GT_EQ] = ACTIONS(1413),
    [anon_sym_CARET] = ACTIONS(1417),
    [anon_sym_PLUS] = ACTIONS(1417),
    [anon_sym_SLASH] = ACTIONS(1417),
    [anon_sym_PERCENT] = ACTIONS(1417),
    [anon_sym_EQ_EQ] = ACTIONS(1417),
    [anon_sym_BANG_EQ] = ACTIONS(1413),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1413),
    [anon_sym_LT_EQ_GT] = ACTIONS(1413),
    [anon_sym_EQ_TILDE] = ACTIONS(1413),
    [anon_sym_BANG_TILDE] = ACTIONS(1413),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1413),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1413),
    [sym__binary_star] = ACTIONS(1413),
  },
  [920] = {
    [sym_heredoc_body] = STATE(920),
    [ts_builtin_sym_end] = ACTIONS(1455),
    [anon_sym___END__] = ACTIONS(1455),
    [anon_sym_LBRACE] = ACTIONS(1455),
    [anon_sym_RBRACE] = ACTIONS(1455),
    [anon_sym_RPAREN] = ACTIONS(1455),
    [anon_sym_DOT] = ACTIONS(1457),
    [anon_sym_COMMA] = ACTIONS(1455),
    [anon_sym_PIPE] = ACTIONS(1457),
    [anon_sym_SEMI] = ACTIONS(1455),
    [anon_sym_STAR_STAR] = ACTIONS(1457),
    [anon_sym_AMP] = ACTIONS(1457),
    [anon_sym_EQ] = ACTIONS(1457),
    [anon_sym_LT] = ACTIONS(1457),
    [anon_sym_end] = ACTIONS(1455),
    [anon_sym_if] = ACTIONS(1455),
    [anon_sym_unless] = ACTIONS(1455),
    [anon_sym_while] = ACTIONS(1455),
    [anon_sym_until] = ACTIONS(1455),
    [anon_sym_rescue] = ACTIONS(1455),
    [anon_sym_do] = ACTIONS(1455),
    [anon_sym_when] = ACTIONS(1455),
    [anon_sym_elsif] = ACTIONS(1455),
    [anon_sym_else] = ACTIONS(1455),
    [anon_sym_then] = ACTIONS(1455),
    [anon_sym_ensure] = ACTIONS(1455),
    [anon_sym_LBRACK] = ACTIONS(1455),
    [anon_sym_COLON_COLON2] = ACTIONS(1455),
    [anon_sym_AMP_DOT] = ACTIONS(1455),
    [anon_sym_PLUS_EQ] = ACTIONS(1455),
    [anon_sym_DASH_EQ] = ACTIONS(1455),
    [anon_sym_STAR_EQ] = ACTIONS(1455),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1455),
    [anon_sym_SLASH_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1455),
    [anon_sym_AMP_EQ] = ACTIONS(1455),
    [anon_sym_PERCENT_EQ] = ACTIONS(1455),
    [anon_sym_GT_GT_EQ] = ACTIONS(1455),
    [anon_sym_LT_LT_EQ] = ACTIONS(1455),
    [anon_sym_CARET_EQ] = ACTIONS(1455),
    [anon_sym_QMARK] = ACTIONS(1455),
    [anon_sym_DOT_DOT] = ACTIONS(1457),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1455),
    [anon_sym_and] = ACTIONS(1455),
    [anon_sym_or] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE] = ACTIONS(1457),
    [anon_sym_AMP_AMP] = ACTIONS(1457),
    [anon_sym_LT_LT] = ACTIONS(1457),
    [anon_sym_GT_GT] = ACTIONS(1457),
    [anon_sym_LT_EQ] = ACTIONS(1457),
    [anon_sym_GT] = ACTIONS(1457),
    [anon_sym_GT_EQ] = ACTIONS(1455),
    [anon_sym_CARET] = ACTIONS(1457),
    [anon_sym_PLUS] = ACTIONS(1457),
    [anon_sym_SLASH] = ACTIONS(1457),
    [anon_sym_PERCENT] = ACTIONS(1457),
    [anon_sym_EQ_EQ] = ACTIONS(1457),
    [anon_sym_BANG_EQ] = ACTIONS(1455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1455),
    [anon_sym_LT_EQ_GT] = ACTIONS(1455),
    [anon_sym_EQ_TILDE] = ACTIONS(1455),
    [anon_sym_BANG_TILDE] = ACTIONS(1455),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1455),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1455),
    [sym__binary_star] = ACTIONS(1455),
  },
  [921] = {
    [sym_heredoc_body] = STATE(921),
    [ts_builtin_sym_end] = ACTIONS(1397),
    [anon_sym___END__] = ACTIONS(1397),
    [anon_sym_LBRACE] = ACTIONS(1397),
    [anon_sym_RBRACE] = ACTIONS(1397),
    [anon_sym_RPAREN] = ACTIONS(1397),
    [anon_sym_DOT] = ACTIONS(1399),
    [anon_sym_COMMA] = ACTIONS(1397),
    [anon_sym_PIPE] = ACTIONS(1399),
    [anon_sym_SEMI] = ACTIONS(1397),
    [anon_sym_STAR_STAR] = ACTIONS(1399),
    [anon_sym_AMP] = ACTIONS(1399),
    [anon_sym_EQ] = ACTIONS(1399),
    [anon_sym_LT] = ACTIONS(1399),
    [anon_sym_end] = ACTIONS(1397),
    [anon_sym_if] = ACTIONS(1397),
    [anon_sym_unless] = ACTIONS(1397),
    [anon_sym_while] = ACTIONS(1397),
    [anon_sym_until] = ACTIONS(1397),
    [anon_sym_rescue] = ACTIONS(1397),
    [anon_sym_do] = ACTIONS(1397),
    [anon_sym_when] = ACTIONS(1397),
    [anon_sym_elsif] = ACTIONS(1397),
    [anon_sym_else] = ACTIONS(1397),
    [anon_sym_then] = ACTIONS(1397),
    [anon_sym_ensure] = ACTIONS(1397),
    [anon_sym_LBRACK] = ACTIONS(1397),
    [anon_sym_COLON_COLON2] = ACTIONS(1397),
    [anon_sym_AMP_DOT] = ACTIONS(1397),
    [anon_sym_PLUS_EQ] = ACTIONS(1397),
    [anon_sym_DASH_EQ] = ACTIONS(1397),
    [anon_sym_STAR_EQ] = ACTIONS(1397),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1397),
    [anon_sym_SLASH_EQ] = ACTIONS(1397),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1397),
    [anon_sym_PIPE_EQ] = ACTIONS(1397),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1397),
    [anon_sym_AMP_EQ] = ACTIONS(1397),
    [anon_sym_PERCENT_EQ] = ACTIONS(1397),
    [anon_sym_GT_GT_EQ] = ACTIONS(1397),
    [anon_sym_LT_LT_EQ] = ACTIONS(1397),
    [anon_sym_CARET_EQ] = ACTIONS(1397),
    [anon_sym_QMARK] = ACTIONS(1397),
    [anon_sym_DOT_DOT] = ACTIONS(1399),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1397),
    [anon_sym_and] = ACTIONS(1397),
    [anon_sym_or] = ACTIONS(1397),
    [anon_sym_PIPE_PIPE] = ACTIONS(1399),
    [anon_sym_AMP_AMP] = ACTIONS(1399),
    [anon_sym_LT_LT] = ACTIONS(1399),
    [anon_sym_GT_GT] = ACTIONS(1399),
    [anon_sym_LT_EQ] = ACTIONS(1399),
    [anon_sym_GT] = ACTIONS(1399),
    [anon_sym_GT_EQ] = ACTIONS(1397),
    [anon_sym_CARET] = ACTIONS(1399),
    [anon_sym_PLUS] = ACTIONS(1399),
    [anon_sym_SLASH] = ACTIONS(1399),
    [anon_sym_PERCENT] = ACTIONS(1399),
    [anon_sym_EQ_EQ] = ACTIONS(1399),
    [anon_sym_BANG_EQ] = ACTIONS(1397),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1397),
    [anon_sym_LT_EQ_GT] = ACTIONS(1397),
    [anon_sym_EQ_TILDE] = ACTIONS(1397),
    [anon_sym_BANG_TILDE] = ACTIONS(1397),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1397),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1397),
    [sym__binary_star] = ACTIONS(1397),
  },
  [922] = {
    [sym_heredoc_body] = STATE(922),
    [ts_builtin_sym_end] = ACTIONS(1427),
    [anon_sym___END__] = ACTIONS(1427),
    [anon_sym_LBRACE] = ACTIONS(1427),
    [anon_sym_RBRACE] = ACTIONS(1427),
    [anon_sym_RPAREN] = ACTIONS(1427),
    [anon_sym_DOT] = ACTIONS(1429),
    [anon_sym_COMMA] = ACTIONS(1427),
    [anon_sym_PIPE] = ACTIONS(1429),
    [anon_sym_SEMI] = ACTIONS(1427),
    [anon_sym_STAR_STAR] = ACTIONS(1429),
    [anon_sym_AMP] = ACTIONS(1429),
    [anon_sym_EQ] = ACTIONS(1429),
    [anon_sym_LT] = ACTIONS(1429),
    [anon_sym_end] = ACTIONS(1427),
    [anon_sym_if] = ACTIONS(1427),
    [anon_sym_unless] = ACTIONS(1427),
    [anon_sym_while] = ACTIONS(1427),
    [anon_sym_until] = ACTIONS(1427),
    [anon_sym_rescue] = ACTIONS(1427),
    [anon_sym_do] = ACTIONS(1427),
    [anon_sym_when] = ACTIONS(1427),
    [anon_sym_elsif] = ACTIONS(1427),
    [anon_sym_else] = ACTIONS(1427),
    [anon_sym_then] = ACTIONS(1427),
    [anon_sym_ensure] = ACTIONS(1427),
    [anon_sym_LBRACK] = ACTIONS(1427),
    [anon_sym_COLON_COLON2] = ACTIONS(1427),
    [anon_sym_AMP_DOT] = ACTIONS(1427),
    [anon_sym_PLUS_EQ] = ACTIONS(1427),
    [anon_sym_DASH_EQ] = ACTIONS(1427),
    [anon_sym_STAR_EQ] = ACTIONS(1427),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1427),
    [anon_sym_SLASH_EQ] = ACTIONS(1427),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1427),
    [anon_sym_PIPE_EQ] = ACTIONS(1427),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1427),
    [anon_sym_AMP_EQ] = ACTIONS(1427),
    [anon_sym_PERCENT_EQ] = ACTIONS(1427),
    [anon_sym_GT_GT_EQ] = ACTIONS(1427),
    [anon_sym_LT_LT_EQ] = ACTIONS(1427),
    [anon_sym_CARET_EQ] = ACTIONS(1427),
    [anon_sym_QMARK] = ACTIONS(1427),
    [anon_sym_DOT_DOT] = ACTIONS(1429),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1427),
    [anon_sym_and] = ACTIONS(1427),
    [anon_sym_or] = ACTIONS(1427),
    [anon_sym_PIPE_PIPE] = ACTIONS(1429),
    [anon_sym_AMP_AMP] = ACTIONS(1429),
    [anon_sym_LT_LT] = ACTIONS(1429),
    [anon_sym_GT_GT] = ACTIONS(1429),
    [anon_sym_LT_EQ] = ACTIONS(1429),
    [anon_sym_GT] = ACTIONS(1429),
    [anon_sym_GT_EQ] = ACTIONS(1427),
    [anon_sym_CARET] = ACTIONS(1429),
    [anon_sym_PLUS] = ACTIONS(1429),
    [anon_sym_SLASH] = ACTIONS(1429),
    [anon_sym_PERCENT] = ACTIONS(1429),
    [anon_sym_EQ_EQ] = ACTIONS(1429),
    [anon_sym_BANG_EQ] = ACTIONS(1427),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1427),
    [anon_sym_LT_EQ_GT] = ACTIONS(1427),
    [anon_sym_EQ_TILDE] = ACTIONS(1427),
    [anon_sym_BANG_TILDE] = ACTIONS(1427),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1427),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1427),
    [sym__binary_star] = ACTIONS(1427),
  },
  [923] = {
    [sym_heredoc_body] = STATE(923),
    [ts_builtin_sym_end] = ACTIONS(1447),
    [anon_sym___END__] = ACTIONS(1447),
    [anon_sym_LBRACE] = ACTIONS(1447),
    [anon_sym_RBRACE] = ACTIONS(1447),
    [anon_sym_RPAREN] = ACTIONS(1447),
    [anon_sym_DOT] = ACTIONS(1449),
    [anon_sym_COMMA] = ACTIONS(1447),
    [anon_sym_PIPE] = ACTIONS(1449),
    [anon_sym_SEMI] = ACTIONS(1447),
    [anon_sym_STAR_STAR] = ACTIONS(1449),
    [anon_sym_AMP] = ACTIONS(1449),
    [anon_sym_EQ] = ACTIONS(1449),
    [anon_sym_LT] = ACTIONS(1449),
    [anon_sym_end] = ACTIONS(1447),
    [anon_sym_if] = ACTIONS(1447),
    [anon_sym_unless] = ACTIONS(1447),
    [anon_sym_while] = ACTIONS(1447),
    [anon_sym_until] = ACTIONS(1447),
    [anon_sym_rescue] = ACTIONS(1447),
    [anon_sym_do] = ACTIONS(1447),
    [anon_sym_when] = ACTIONS(1447),
    [anon_sym_elsif] = ACTIONS(1447),
    [anon_sym_else] = ACTIONS(1447),
    [anon_sym_then] = ACTIONS(1447),
    [anon_sym_ensure] = ACTIONS(1447),
    [anon_sym_LBRACK] = ACTIONS(1447),
    [anon_sym_COLON_COLON2] = ACTIONS(1447),
    [anon_sym_AMP_DOT] = ACTIONS(1447),
    [anon_sym_PLUS_EQ] = ACTIONS(1447),
    [anon_sym_DASH_EQ] = ACTIONS(1447),
    [anon_sym_STAR_EQ] = ACTIONS(1447),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1447),
    [anon_sym_SLASH_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1447),
    [anon_sym_AMP_EQ] = ACTIONS(1447),
    [anon_sym_PERCENT_EQ] = ACTIONS(1447),
    [anon_sym_GT_GT_EQ] = ACTIONS(1447),
    [anon_sym_LT_LT_EQ] = ACTIONS(1447),
    [anon_sym_CARET_EQ] = ACTIONS(1447),
    [anon_sym_QMARK] = ACTIONS(1447),
    [anon_sym_DOT_DOT] = ACTIONS(1449),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1447),
    [anon_sym_and] = ACTIONS(1447),
    [anon_sym_or] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE] = ACTIONS(1449),
    [anon_sym_AMP_AMP] = ACTIONS(1449),
    [anon_sym_LT_LT] = ACTIONS(1449),
    [anon_sym_GT_GT] = ACTIONS(1449),
    [anon_sym_LT_EQ] = ACTIONS(1449),
    [anon_sym_GT] = ACTIONS(1449),
    [anon_sym_GT_EQ] = ACTIONS(1447),
    [anon_sym_CARET] = ACTIONS(1449),
    [anon_sym_PLUS] = ACTIONS(1449),
    [anon_sym_SLASH] = ACTIONS(1449),
    [anon_sym_PERCENT] = ACTIONS(1449),
    [anon_sym_EQ_EQ] = ACTIONS(1449),
    [anon_sym_BANG_EQ] = ACTIONS(1447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1447),
    [anon_sym_LT_EQ_GT] = ACTIONS(1447),
    [anon_sym_EQ_TILDE] = ACTIONS(1447),
    [anon_sym_BANG_TILDE] = ACTIONS(1447),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1447),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1447),
    [sym__binary_star] = ACTIONS(1447),
  },
  [924] = {
    [sym_heredoc_body] = STATE(924),
    [ts_builtin_sym_end] = ACTIONS(1419),
    [anon_sym___END__] = ACTIONS(1419),
    [anon_sym_LBRACE] = ACTIONS(1419),
    [anon_sym_RBRACE] = ACTIONS(1419),
    [anon_sym_RPAREN] = ACTIONS(1419),
    [anon_sym_DOT] = ACTIONS(1421),
    [anon_sym_COMMA] = ACTIONS(1419),
    [anon_sym_PIPE] = ACTIONS(1421),
    [anon_sym_SEMI] = ACTIONS(1419),
    [anon_sym_STAR_STAR] = ACTIONS(1421),
    [anon_sym_AMP] = ACTIONS(1421),
    [anon_sym_EQ] = ACTIONS(1421),
    [anon_sym_LT] = ACTIONS(1421),
    [anon_sym_end] = ACTIONS(1419),
    [anon_sym_if] = ACTIONS(1419),
    [anon_sym_unless] = ACTIONS(1419),
    [anon_sym_while] = ACTIONS(1419),
    [anon_sym_until] = ACTIONS(1419),
    [anon_sym_rescue] = ACTIONS(1419),
    [anon_sym_do] = ACTIONS(1419),
    [anon_sym_when] = ACTIONS(1419),
    [anon_sym_elsif] = ACTIONS(1419),
    [anon_sym_else] = ACTIONS(1419),
    [anon_sym_then] = ACTIONS(1419),
    [anon_sym_ensure] = ACTIONS(1419),
    [anon_sym_LBRACK] = ACTIONS(1419),
    [anon_sym_COLON_COLON2] = ACTIONS(1419),
    [anon_sym_AMP_DOT] = ACTIONS(1419),
    [anon_sym_PLUS_EQ] = ACTIONS(1419),
    [anon_sym_DASH_EQ] = ACTIONS(1419),
    [anon_sym_STAR_EQ] = ACTIONS(1419),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1419),
    [anon_sym_SLASH_EQ] = ACTIONS(1419),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1419),
    [anon_sym_PIPE_EQ] = ACTIONS(1419),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1419),
    [anon_sym_AMP_EQ] = ACTIONS(1419),
    [anon_sym_PERCENT_EQ] = ACTIONS(1419),
    [anon_sym_GT_GT_EQ] = ACTIONS(1419),
    [anon_sym_LT_LT_EQ] = ACTIONS(1419),
    [anon_sym_CARET_EQ] = ACTIONS(1419),
    [anon_sym_QMARK] = ACTIONS(1419),
    [anon_sym_DOT_DOT] = ACTIONS(1421),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1419),
    [anon_sym_and] = ACTIONS(1419),
    [anon_sym_or] = ACTIONS(1419),
    [anon_sym_PIPE_PIPE] = ACTIONS(1421),
    [anon_sym_AMP_AMP] = ACTIONS(1421),
    [anon_sym_LT_LT] = ACTIONS(1421),
    [anon_sym_GT_GT] = ACTIONS(1421),
    [anon_sym_LT_EQ] = ACTIONS(1421),
    [anon_sym_GT] = ACTIONS(1421),
    [anon_sym_GT_EQ] = ACTIONS(1419),
    [anon_sym_CARET] = ACTIONS(1421),
    [anon_sym_PLUS] = ACTIONS(1421),
    [anon_sym_SLASH] = ACTIONS(1421),
    [anon_sym_PERCENT] = ACTIONS(1421),
    [anon_sym_EQ_EQ] = ACTIONS(1421),
    [anon_sym_BANG_EQ] = ACTIONS(1419),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1419),
    [anon_sym_LT_EQ_GT] = ACTIONS(1419),
    [anon_sym_EQ_TILDE] = ACTIONS(1419),
    [anon_sym_BANG_TILDE] = ACTIONS(1419),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1419),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1419),
    [sym__binary_star] = ACTIONS(1419),
  },
  [925] = {
    [sym_heredoc_body] = STATE(925),
    [ts_builtin_sym_end] = ACTIONS(1455),
    [anon_sym___END__] = ACTIONS(1455),
    [anon_sym_LBRACE] = ACTIONS(1455),
    [anon_sym_RBRACE] = ACTIONS(1455),
    [anon_sym_RPAREN] = ACTIONS(1455),
    [anon_sym_DOT] = ACTIONS(1457),
    [anon_sym_COMMA] = ACTIONS(1455),
    [anon_sym_PIPE] = ACTIONS(1457),
    [anon_sym_SEMI] = ACTIONS(1455),
    [anon_sym_STAR_STAR] = ACTIONS(1457),
    [anon_sym_AMP] = ACTIONS(1457),
    [anon_sym_EQ] = ACTIONS(1457),
    [anon_sym_LT] = ACTIONS(1457),
    [anon_sym_end] = ACTIONS(1455),
    [anon_sym_if] = ACTIONS(1455),
    [anon_sym_unless] = ACTIONS(1455),
    [anon_sym_while] = ACTIONS(1455),
    [anon_sym_until] = ACTIONS(1455),
    [anon_sym_rescue] = ACTIONS(1455),
    [anon_sym_do] = ACTIONS(1455),
    [anon_sym_when] = ACTIONS(1455),
    [anon_sym_elsif] = ACTIONS(1455),
    [anon_sym_else] = ACTIONS(1455),
    [anon_sym_then] = ACTIONS(1455),
    [anon_sym_ensure] = ACTIONS(1455),
    [anon_sym_LBRACK] = ACTIONS(1455),
    [anon_sym_COLON_COLON2] = ACTIONS(1455),
    [anon_sym_AMP_DOT] = ACTIONS(1455),
    [anon_sym_PLUS_EQ] = ACTIONS(1455),
    [anon_sym_DASH_EQ] = ACTIONS(1455),
    [anon_sym_STAR_EQ] = ACTIONS(1455),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1455),
    [anon_sym_SLASH_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_PIPE_EQ] = ACTIONS(1455),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1455),
    [anon_sym_AMP_EQ] = ACTIONS(1455),
    [anon_sym_PERCENT_EQ] = ACTIONS(1455),
    [anon_sym_GT_GT_EQ] = ACTIONS(1455),
    [anon_sym_LT_LT_EQ] = ACTIONS(1455),
    [anon_sym_CARET_EQ] = ACTIONS(1455),
    [anon_sym_QMARK] = ACTIONS(1455),
    [anon_sym_DOT_DOT] = ACTIONS(1457),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1455),
    [anon_sym_and] = ACTIONS(1455),
    [anon_sym_or] = ACTIONS(1455),
    [anon_sym_PIPE_PIPE] = ACTIONS(1457),
    [anon_sym_AMP_AMP] = ACTIONS(1457),
    [anon_sym_LT_LT] = ACTIONS(1457),
    [anon_sym_GT_GT] = ACTIONS(1457),
    [anon_sym_LT_EQ] = ACTIONS(1457),
    [anon_sym_GT] = ACTIONS(1457),
    [anon_sym_GT_EQ] = ACTIONS(1455),
    [anon_sym_CARET] = ACTIONS(1457),
    [anon_sym_PLUS] = ACTIONS(1457),
    [anon_sym_SLASH] = ACTIONS(1457),
    [anon_sym_PERCENT] = ACTIONS(1457),
    [anon_sym_EQ_EQ] = ACTIONS(1457),
    [anon_sym_BANG_EQ] = ACTIONS(1455),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1455),
    [anon_sym_LT_EQ_GT] = ACTIONS(1455),
    [anon_sym_EQ_TILDE] = ACTIONS(1455),
    [anon_sym_BANG_TILDE] = ACTIONS(1455),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1455),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1455),
    [sym__binary_star] = ACTIONS(1455),
  },
  [926] = {
    [sym_heredoc_body] = STATE(926),
    [ts_builtin_sym_end] = ACTIONS(1451),
    [anon_sym___END__] = ACTIONS(1451),
    [anon_sym_LBRACE] = ACTIONS(1451),
    [anon_sym_RBRACE] = ACTIONS(1451),
    [anon_sym_RPAREN] = ACTIONS(1451),
    [anon_sym_DOT] = ACTIONS(1453),
    [anon_sym_COMMA] = ACTIONS(1451),
    [anon_sym_PIPE] = ACTIONS(1453),
    [anon_sym_SEMI] = ACTIONS(1451),
    [anon_sym_STAR_STAR] = ACTIONS(1453),
    [anon_sym_AMP] = ACTIONS(1453),
    [anon_sym_EQ] = ACTIONS(1453),
    [anon_sym_LT] = ACTIONS(1453),
    [anon_sym_end] = ACTIONS(1451),
    [anon_sym_if] = ACTIONS(1451),
    [anon_sym_unless] = ACTIONS(1451),
    [anon_sym_while] = ACTIONS(1451),
    [anon_sym_until] = ACTIONS(1451),
    [anon_sym_rescue] = ACTIONS(1451),
    [anon_sym_do] = ACTIONS(1451),
    [anon_sym_when] = ACTIONS(1451),
    [anon_sym_elsif] = ACTIONS(1451),
    [anon_sym_else] = ACTIONS(1451),
    [anon_sym_then] = ACTIONS(1451),
    [anon_sym_ensure] = ACTIONS(1451),
    [anon_sym_LBRACK] = ACTIONS(1451),
    [anon_sym_COLON_COLON2] = ACTIONS(1451),
    [anon_sym_AMP_DOT] = ACTIONS(1451),
    [anon_sym_PLUS_EQ] = ACTIONS(1451),
    [anon_sym_DASH_EQ] = ACTIONS(1451),
    [anon_sym_STAR_EQ] = ACTIONS(1451),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1451),
    [anon_sym_SLASH_EQ] = ACTIONS(1451),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1451),
    [anon_sym_PIPE_EQ] = ACTIONS(1451),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1451),
    [anon_sym_AMP_EQ] = ACTIONS(1451),
    [anon_sym_PERCENT_EQ] = ACTIONS(1451),
    [anon_sym_GT_GT_EQ] = ACTIONS(1451),
    [anon_sym_LT_LT_EQ] = ACTIONS(1451),
    [anon_sym_CARET_EQ] = ACTIONS(1451),
    [anon_sym_QMARK] = ACTIONS(1451),
    [anon_sym_DOT_DOT] = ACTIONS(1453),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1451),
    [anon_sym_and] = ACTIONS(1451),
    [anon_sym_or] = ACTIONS(1451),
    [anon_sym_PIPE_PIPE] = ACTIONS(1453),
    [anon_sym_AMP_AMP] = ACTIONS(1453),
    [anon_sym_LT_LT] = ACTIONS(1453),
    [anon_sym_GT_GT] = ACTIONS(1453),
    [anon_sym_LT_EQ] = ACTIONS(1453),
    [anon_sym_GT] = ACTIONS(1453),
    [anon_sym_GT_EQ] = ACTIONS(1451),
    [anon_sym_CARET] = ACTIONS(1453),
    [anon_sym_PLUS] = ACTIONS(1453),
    [anon_sym_SLASH] = ACTIONS(1453),
    [anon_sym_PERCENT] = ACTIONS(1453),
    [anon_sym_EQ_EQ] = ACTIONS(1453),
    [anon_sym_BANG_EQ] = ACTIONS(1451),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1451),
    [anon_sym_LT_EQ_GT] = ACTIONS(1451),
    [anon_sym_EQ_TILDE] = ACTIONS(1451),
    [anon_sym_BANG_TILDE] = ACTIONS(1451),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1451),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1451),
    [sym__binary_star] = ACTIONS(1451),
  },
  [927] = {
    [sym_heredoc_body] = STATE(927),
    [ts_builtin_sym_end] = ACTIONS(1431),
    [anon_sym___END__] = ACTIONS(1431),
    [anon_sym_LBRACE] = ACTIONS(1431),
    [anon_sym_RBRACE] = ACTIONS(1431),
    [anon_sym_RPAREN] = ACTIONS(1431),
    [anon_sym_DOT] = ACTIONS(1433),
    [anon_sym_COMMA] = ACTIONS(1431),
    [anon_sym_PIPE] = ACTIONS(1433),
    [anon_sym_SEMI] = ACTIONS(1431),
    [anon_sym_STAR_STAR] = ACTIONS(1433),
    [anon_sym_AMP] = ACTIONS(1433),
    [anon_sym_EQ] = ACTIONS(1433),
    [anon_sym_LT] = ACTIONS(1433),
    [anon_sym_end] = ACTIONS(1431),
    [anon_sym_if] = ACTIONS(1431),
    [anon_sym_unless] = ACTIONS(1431),
    [anon_sym_while] = ACTIONS(1431),
    [anon_sym_until] = ACTIONS(1431),
    [anon_sym_rescue] = ACTIONS(1431),
    [anon_sym_do] = ACTIONS(1431),
    [anon_sym_when] = ACTIONS(1431),
    [anon_sym_elsif] = ACTIONS(1431),
    [anon_sym_else] = ACTIONS(1431),
    [anon_sym_then] = ACTIONS(1431),
    [anon_sym_ensure] = ACTIONS(1431),
    [anon_sym_LBRACK] = ACTIONS(1431),
    [anon_sym_COLON_COLON2] = ACTIONS(1431),
    [anon_sym_AMP_DOT] = ACTIONS(1431),
    [anon_sym_PLUS_EQ] = ACTIONS(1431),
    [anon_sym_DASH_EQ] = ACTIONS(1431),
    [anon_sym_STAR_EQ] = ACTIONS(1431),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1431),
    [anon_sym_SLASH_EQ] = ACTIONS(1431),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1431),
    [anon_sym_PIPE_EQ] = ACTIONS(1431),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1431),
    [anon_sym_AMP_EQ] = ACTIONS(1431),
    [anon_sym_PERCENT_EQ] = ACTIONS(1431),
    [anon_sym_GT_GT_EQ] = ACTIONS(1431),
    [anon_sym_LT_LT_EQ] = ACTIONS(1431),
    [anon_sym_CARET_EQ] = ACTIONS(1431),
    [anon_sym_QMARK] = ACTIONS(1431),
    [anon_sym_DOT_DOT] = ACTIONS(1433),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1431),
    [anon_sym_and] = ACTIONS(1431),
    [anon_sym_or] = ACTIONS(1431),
    [anon_sym_PIPE_PIPE] = ACTIONS(1433),
    [anon_sym_AMP_AMP] = ACTIONS(1433),
    [anon_sym_LT_LT] = ACTIONS(1433),
    [anon_sym_GT_GT] = ACTIONS(1433),
    [anon_sym_LT_EQ] = ACTIONS(1433),
    [anon_sym_GT] = ACTIONS(1433),
    [anon_sym_GT_EQ] = ACTIONS(1431),
    [anon_sym_CARET] = ACTIONS(1433),
    [anon_sym_PLUS] = ACTIONS(1433),
    [anon_sym_SLASH] = ACTIONS(1433),
    [anon_sym_PERCENT] = ACTIONS(1433),
    [anon_sym_EQ_EQ] = ACTIONS(1433),
    [anon_sym_BANG_EQ] = ACTIONS(1431),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1431),
    [anon_sym_LT_EQ_GT] = ACTIONS(1431),
    [anon_sym_EQ_TILDE] = ACTIONS(1431),
    [anon_sym_BANG_TILDE] = ACTIONS(1431),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1431),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1431),
    [sym__binary_star] = ACTIONS(1431),
  },
  [928] = {
    [sym_heredoc_body] = STATE(928),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [ts_builtin_sym_end] = ACTIONS(1389),
    [anon_sym___END__] = ACTIONS(1389),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1389),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1459),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_EQ_GT] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1461),
    [anon_sym_DASH_EQ] = ACTIONS(1461),
    [anon_sym_STAR_EQ] = ACTIONS(1461),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1461),
    [anon_sym_SLASH_EQ] = ACTIONS(1461),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1461),
    [anon_sym_PIPE_EQ] = ACTIONS(1461),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1461),
    [anon_sym_AMP_EQ] = ACTIONS(1461),
    [anon_sym_PERCENT_EQ] = ACTIONS(1461),
    [anon_sym_GT_GT_EQ] = ACTIONS(1461),
    [anon_sym_LT_LT_EQ] = ACTIONS(1461),
    [anon_sym_CARET_EQ] = ACTIONS(1461),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [929] = {
    [sym_heredoc_body] = STATE(929),
    [ts_builtin_sym_end] = ACTIONS(1435),
    [anon_sym___END__] = ACTIONS(1435),
    [anon_sym_LBRACE] = ACTIONS(1435),
    [anon_sym_RBRACE] = ACTIONS(1435),
    [anon_sym_RPAREN] = ACTIONS(1435),
    [anon_sym_DOT] = ACTIONS(1437),
    [anon_sym_COMMA] = ACTIONS(1435),
    [anon_sym_PIPE] = ACTIONS(1437),
    [anon_sym_SEMI] = ACTIONS(1435),
    [anon_sym_STAR_STAR] = ACTIONS(1437),
    [anon_sym_AMP] = ACTIONS(1437),
    [anon_sym_EQ] = ACTIONS(1437),
    [anon_sym_LT] = ACTIONS(1437),
    [anon_sym_end] = ACTIONS(1435),
    [anon_sym_if] = ACTIONS(1435),
    [anon_sym_unless] = ACTIONS(1435),
    [anon_sym_while] = ACTIONS(1435),
    [anon_sym_until] = ACTIONS(1435),
    [anon_sym_rescue] = ACTIONS(1435),
    [anon_sym_do] = ACTIONS(1435),
    [anon_sym_when] = ACTIONS(1435),
    [anon_sym_elsif] = ACTIONS(1435),
    [anon_sym_else] = ACTIONS(1435),
    [anon_sym_then] = ACTIONS(1435),
    [anon_sym_ensure] = ACTIONS(1435),
    [anon_sym_LBRACK] = ACTIONS(1435),
    [anon_sym_COLON_COLON2] = ACTIONS(1435),
    [anon_sym_AMP_DOT] = ACTIONS(1435),
    [anon_sym_PLUS_EQ] = ACTIONS(1435),
    [anon_sym_DASH_EQ] = ACTIONS(1435),
    [anon_sym_STAR_EQ] = ACTIONS(1435),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1435),
    [anon_sym_SLASH_EQ] = ACTIONS(1435),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1435),
    [anon_sym_PIPE_EQ] = ACTIONS(1435),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1435),
    [anon_sym_AMP_EQ] = ACTIONS(1435),
    [anon_sym_PERCENT_EQ] = ACTIONS(1435),
    [anon_sym_GT_GT_EQ] = ACTIONS(1435),
    [anon_sym_LT_LT_EQ] = ACTIONS(1435),
    [anon_sym_CARET_EQ] = ACTIONS(1435),
    [anon_sym_QMARK] = ACTIONS(1435),
    [anon_sym_DOT_DOT] = ACTIONS(1437),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1435),
    [anon_sym_and] = ACTIONS(1435),
    [anon_sym_or] = ACTIONS(1435),
    [anon_sym_PIPE_PIPE] = ACTIONS(1437),
    [anon_sym_AMP_AMP] = ACTIONS(1437),
    [anon_sym_LT_LT] = ACTIONS(1437),
    [anon_sym_GT_GT] = ACTIONS(1437),
    [anon_sym_LT_EQ] = ACTIONS(1437),
    [anon_sym_GT] = ACTIONS(1437),
    [anon_sym_GT_EQ] = ACTIONS(1435),
    [anon_sym_CARET] = ACTIONS(1437),
    [anon_sym_PLUS] = ACTIONS(1437),
    [anon_sym_SLASH] = ACTIONS(1437),
    [anon_sym_PERCENT] = ACTIONS(1437),
    [anon_sym_EQ_EQ] = ACTIONS(1437),
    [anon_sym_BANG_EQ] = ACTIONS(1435),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1435),
    [anon_sym_LT_EQ_GT] = ACTIONS(1435),
    [anon_sym_EQ_TILDE] = ACTIONS(1435),
    [anon_sym_BANG_TILDE] = ACTIONS(1435),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1435),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1435),
    [sym__binary_star] = ACTIONS(1435),
  },
  [930] = {
    [sym_heredoc_body] = STATE(930),
    [ts_builtin_sym_end] = ACTIONS(1439),
    [anon_sym___END__] = ACTIONS(1439),
    [anon_sym_LBRACE] = ACTIONS(1439),
    [anon_sym_RBRACE] = ACTIONS(1439),
    [anon_sym_RPAREN] = ACTIONS(1439),
    [anon_sym_DOT] = ACTIONS(1441),
    [anon_sym_COMMA] = ACTIONS(1439),
    [anon_sym_PIPE] = ACTIONS(1441),
    [anon_sym_SEMI] = ACTIONS(1439),
    [anon_sym_STAR_STAR] = ACTIONS(1441),
    [anon_sym_AMP] = ACTIONS(1441),
    [anon_sym_EQ] = ACTIONS(1441),
    [anon_sym_LT] = ACTIONS(1441),
    [anon_sym_end] = ACTIONS(1439),
    [anon_sym_if] = ACTIONS(1439),
    [anon_sym_unless] = ACTIONS(1439),
    [anon_sym_while] = ACTIONS(1439),
    [anon_sym_until] = ACTIONS(1439),
    [anon_sym_rescue] = ACTIONS(1439),
    [anon_sym_do] = ACTIONS(1439),
    [anon_sym_when] = ACTIONS(1439),
    [anon_sym_elsif] = ACTIONS(1439),
    [anon_sym_else] = ACTIONS(1439),
    [anon_sym_then] = ACTIONS(1439),
    [anon_sym_ensure] = ACTIONS(1439),
    [anon_sym_LBRACK] = ACTIONS(1439),
    [anon_sym_COLON_COLON2] = ACTIONS(1439),
    [anon_sym_AMP_DOT] = ACTIONS(1439),
    [anon_sym_PLUS_EQ] = ACTIONS(1439),
    [anon_sym_DASH_EQ] = ACTIONS(1439),
    [anon_sym_STAR_EQ] = ACTIONS(1439),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1439),
    [anon_sym_SLASH_EQ] = ACTIONS(1439),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1439),
    [anon_sym_PIPE_EQ] = ACTIONS(1439),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1439),
    [anon_sym_AMP_EQ] = ACTIONS(1439),
    [anon_sym_PERCENT_EQ] = ACTIONS(1439),
    [anon_sym_GT_GT_EQ] = ACTIONS(1439),
    [anon_sym_LT_LT_EQ] = ACTIONS(1439),
    [anon_sym_CARET_EQ] = ACTIONS(1439),
    [anon_sym_QMARK] = ACTIONS(1439),
    [anon_sym_DOT_DOT] = ACTIONS(1441),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1439),
    [anon_sym_and] = ACTIONS(1439),
    [anon_sym_or] = ACTIONS(1439),
    [anon_sym_PIPE_PIPE] = ACTIONS(1441),
    [anon_sym_AMP_AMP] = ACTIONS(1441),
    [anon_sym_LT_LT] = ACTIONS(1441),
    [anon_sym_GT_GT] = ACTIONS(1441),
    [anon_sym_LT_EQ] = ACTIONS(1441),
    [anon_sym_GT] = ACTIONS(1441),
    [anon_sym_GT_EQ] = ACTIONS(1439),
    [anon_sym_CARET] = ACTIONS(1441),
    [anon_sym_PLUS] = ACTIONS(1441),
    [anon_sym_SLASH] = ACTIONS(1441),
    [anon_sym_PERCENT] = ACTIONS(1441),
    [anon_sym_EQ_EQ] = ACTIONS(1441),
    [anon_sym_BANG_EQ] = ACTIONS(1439),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1439),
    [anon_sym_LT_EQ_GT] = ACTIONS(1439),
    [anon_sym_EQ_TILDE] = ACTIONS(1439),
    [anon_sym_BANG_TILDE] = ACTIONS(1439),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1439),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1439),
    [sym__binary_star] = ACTIONS(1439),
  },
  [931] = {
    [sym_heredoc_body] = STATE(931),
    [ts_builtin_sym_end] = ACTIONS(1443),
    [anon_sym___END__] = ACTIONS(1443),
    [anon_sym_LBRACE] = ACTIONS(1443),
    [anon_sym_RBRACE] = ACTIONS(1443),
    [anon_sym_RPAREN] = ACTIONS(1443),
    [anon_sym_DOT] = ACTIONS(1445),
    [anon_sym_COMMA] = ACTIONS(1443),
    [anon_sym_PIPE] = ACTIONS(1445),
    [anon_sym_SEMI] = ACTIONS(1443),
    [anon_sym_STAR_STAR] = ACTIONS(1445),
    [anon_sym_AMP] = ACTIONS(1445),
    [anon_sym_EQ] = ACTIONS(1445),
    [anon_sym_LT] = ACTIONS(1445),
    [anon_sym_end] = ACTIONS(1443),
    [anon_sym_if] = ACTIONS(1443),
    [anon_sym_unless] = ACTIONS(1443),
    [anon_sym_while] = ACTIONS(1443),
    [anon_sym_until] = ACTIONS(1443),
    [anon_sym_rescue] = ACTIONS(1443),
    [anon_sym_do] = ACTIONS(1443),
    [anon_sym_when] = ACTIONS(1443),
    [anon_sym_elsif] = ACTIONS(1443),
    [anon_sym_else] = ACTIONS(1443),
    [anon_sym_then] = ACTIONS(1443),
    [anon_sym_ensure] = ACTIONS(1443),
    [anon_sym_LBRACK] = ACTIONS(1443),
    [anon_sym_COLON_COLON2] = ACTIONS(1443),
    [anon_sym_AMP_DOT] = ACTIONS(1443),
    [anon_sym_PLUS_EQ] = ACTIONS(1443),
    [anon_sym_DASH_EQ] = ACTIONS(1443),
    [anon_sym_STAR_EQ] = ACTIONS(1443),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1443),
    [anon_sym_SLASH_EQ] = ACTIONS(1443),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1443),
    [anon_sym_PIPE_EQ] = ACTIONS(1443),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1443),
    [anon_sym_AMP_EQ] = ACTIONS(1443),
    [anon_sym_PERCENT_EQ] = ACTIONS(1443),
    [anon_sym_GT_GT_EQ] = ACTIONS(1443),
    [anon_sym_LT_LT_EQ] = ACTIONS(1443),
    [anon_sym_CARET_EQ] = ACTIONS(1443),
    [anon_sym_QMARK] = ACTIONS(1443),
    [anon_sym_DOT_DOT] = ACTIONS(1445),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1443),
    [anon_sym_and] = ACTIONS(1443),
    [anon_sym_or] = ACTIONS(1443),
    [anon_sym_PIPE_PIPE] = ACTIONS(1445),
    [anon_sym_AMP_AMP] = ACTIONS(1445),
    [anon_sym_LT_LT] = ACTIONS(1445),
    [anon_sym_GT_GT] = ACTIONS(1445),
    [anon_sym_LT_EQ] = ACTIONS(1445),
    [anon_sym_GT] = ACTIONS(1445),
    [anon_sym_GT_EQ] = ACTIONS(1443),
    [anon_sym_CARET] = ACTIONS(1445),
    [anon_sym_PLUS] = ACTIONS(1445),
    [anon_sym_SLASH] = ACTIONS(1445),
    [anon_sym_PERCENT] = ACTIONS(1445),
    [anon_sym_EQ_EQ] = ACTIONS(1445),
    [anon_sym_BANG_EQ] = ACTIONS(1443),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1443),
    [anon_sym_LT_EQ_GT] = ACTIONS(1443),
    [anon_sym_EQ_TILDE] = ACTIONS(1443),
    [anon_sym_BANG_TILDE] = ACTIONS(1443),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1443),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1443),
    [sym__binary_star] = ACTIONS(1443),
  },
  [932] = {
    [sym_heredoc_body] = STATE(932),
    [ts_builtin_sym_end] = ACTIONS(1447),
    [anon_sym___END__] = ACTIONS(1447),
    [anon_sym_LBRACE] = ACTIONS(1447),
    [anon_sym_RBRACE] = ACTIONS(1447),
    [anon_sym_RPAREN] = ACTIONS(1447),
    [anon_sym_DOT] = ACTIONS(1449),
    [anon_sym_COMMA] = ACTIONS(1447),
    [anon_sym_PIPE] = ACTIONS(1449),
    [anon_sym_SEMI] = ACTIONS(1447),
    [anon_sym_STAR_STAR] = ACTIONS(1449),
    [anon_sym_AMP] = ACTIONS(1449),
    [anon_sym_EQ] = ACTIONS(1449),
    [anon_sym_LT] = ACTIONS(1449),
    [anon_sym_end] = ACTIONS(1447),
    [anon_sym_if] = ACTIONS(1447),
    [anon_sym_unless] = ACTIONS(1447),
    [anon_sym_while] = ACTIONS(1447),
    [anon_sym_until] = ACTIONS(1447),
    [anon_sym_rescue] = ACTIONS(1447),
    [anon_sym_do] = ACTIONS(1447),
    [anon_sym_when] = ACTIONS(1447),
    [anon_sym_elsif] = ACTIONS(1447),
    [anon_sym_else] = ACTIONS(1447),
    [anon_sym_then] = ACTIONS(1447),
    [anon_sym_ensure] = ACTIONS(1447),
    [anon_sym_LBRACK] = ACTIONS(1447),
    [anon_sym_COLON_COLON2] = ACTIONS(1447),
    [anon_sym_AMP_DOT] = ACTIONS(1447),
    [anon_sym_PLUS_EQ] = ACTIONS(1447),
    [anon_sym_DASH_EQ] = ACTIONS(1447),
    [anon_sym_STAR_EQ] = ACTIONS(1447),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1447),
    [anon_sym_SLASH_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_PIPE_EQ] = ACTIONS(1447),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1447),
    [anon_sym_AMP_EQ] = ACTIONS(1447),
    [anon_sym_PERCENT_EQ] = ACTIONS(1447),
    [anon_sym_GT_GT_EQ] = ACTIONS(1447),
    [anon_sym_LT_LT_EQ] = ACTIONS(1447),
    [anon_sym_CARET_EQ] = ACTIONS(1447),
    [anon_sym_QMARK] = ACTIONS(1447),
    [anon_sym_DOT_DOT] = ACTIONS(1449),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1447),
    [anon_sym_and] = ACTIONS(1447),
    [anon_sym_or] = ACTIONS(1447),
    [anon_sym_PIPE_PIPE] = ACTIONS(1449),
    [anon_sym_AMP_AMP] = ACTIONS(1449),
    [anon_sym_LT_LT] = ACTIONS(1449),
    [anon_sym_GT_GT] = ACTIONS(1449),
    [anon_sym_LT_EQ] = ACTIONS(1449),
    [anon_sym_GT] = ACTIONS(1449),
    [anon_sym_GT_EQ] = ACTIONS(1447),
    [anon_sym_CARET] = ACTIONS(1449),
    [anon_sym_PLUS] = ACTIONS(1449),
    [anon_sym_SLASH] = ACTIONS(1449),
    [anon_sym_PERCENT] = ACTIONS(1449),
    [anon_sym_EQ_EQ] = ACTIONS(1449),
    [anon_sym_BANG_EQ] = ACTIONS(1447),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1447),
    [anon_sym_LT_EQ_GT] = ACTIONS(1447),
    [anon_sym_EQ_TILDE] = ACTIONS(1447),
    [anon_sym_BANG_TILDE] = ACTIONS(1447),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1447),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1447),
    [sym__binary_star] = ACTIONS(1447),
  },
  [933] = {
    [sym_heredoc_body] = STATE(933),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [ts_builtin_sym_end] = ACTIONS(1389),
    [anon_sym___END__] = ACTIONS(1389),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1463),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1465),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1467),
    [anon_sym_DASH_EQ] = ACTIONS(1467),
    [anon_sym_STAR_EQ] = ACTIONS(1467),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1467),
    [anon_sym_SLASH_EQ] = ACTIONS(1467),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1467),
    [anon_sym_PIPE_EQ] = ACTIONS(1467),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1467),
    [anon_sym_AMP_EQ] = ACTIONS(1467),
    [anon_sym_PERCENT_EQ] = ACTIONS(1467),
    [anon_sym_GT_GT_EQ] = ACTIONS(1467),
    [anon_sym_LT_LT_EQ] = ACTIONS(1467),
    [anon_sym_CARET_EQ] = ACTIONS(1467),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [934] = {
    [sym_heredoc_body] = STATE(934),
    [sym_identifier] = ACTIONS(1469),
    [anon_sym_BEGIN] = ACTIONS(1469),
    [anon_sym_LBRACE] = ACTIONS(1471),
    [anon_sym_RBRACE] = ACTIONS(1471),
    [anon_sym_END] = ACTIONS(1469),
    [anon_sym_def] = ACTIONS(1469),
    [anon_sym_LPAREN] = ACTIONS(1471),
    [anon_sym_RPAREN] = ACTIONS(1471),
    [anon_sym_COLON_COLON] = ACTIONS(1471),
    [anon_sym_PIPE] = ACTIONS(1471),
    [anon_sym_SEMI] = ACTIONS(1471),
    [anon_sym_STAR] = ACTIONS(1471),
    [anon_sym_class] = ACTIONS(1469),
    [anon_sym_module] = ACTIONS(1469),
    [anon_sym_end] = ACTIONS(1469),
    [anon_sym_return] = ACTIONS(1469),
    [anon_sym_yield] = ACTIONS(1469),
    [anon_sym_break] = ACTIONS(1469),
    [anon_sym_next] = ACTIONS(1469),
    [anon_sym_redo] = ACTIONS(1469),
    [anon_sym_retry] = ACTIONS(1469),
    [anon_sym_if] = ACTIONS(1469),
    [anon_sym_unless] = ACTIONS(1469),
    [anon_sym_while] = ACTIONS(1469),
    [anon_sym_until] = ACTIONS(1469),
    [anon_sym_rescue] = ACTIONS(1469),
    [anon_sym_for] = ACTIONS(1469),
    [anon_sym_case] = ACTIONS(1469),
    [anon_sym_when] = ACTIONS(1469),
    [anon_sym_elsif] = ACTIONS(1469),
    [anon_sym_else] = ACTIONS(1469),
    [anon_sym_then] = ACTIONS(1469),
    [anon_sym_begin] = ACTIONS(1469),
    [anon_sym_ensure] = ACTIONS(1469),
    [anon_sym_PLUS] = ACTIONS(1469),
    [anon_sym_defined_QMARK] = ACTIONS(1471),
    [anon_sym_not] = ACTIONS(1469),
    [anon_sym_BANG] = ACTIONS(1471),
    [anon_sym_TILDE] = ACTIONS(1471),
    [anon_sym_undef] = ACTIONS(1469),
    [anon_sym_alias] = ACTIONS(1469),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1469),
    [sym_float] = ACTIONS(1469),
    [sym_complex] = ACTIONS(1471),
    [sym_super] = ACTIONS(1469),
    [sym_self] = ACTIONS(1469),
    [sym_true] = ACTIONS(1469),
    [sym_false] = ACTIONS(1469),
    [sym_nil] = ACTIONS(1469),
    [sym_constant] = ACTIONS(1469),
    [sym_instance_variable] = ACTIONS(1471),
    [sym_class_variable] = ACTIONS(1471),
    [sym_global_variable] = ACTIONS(1471),
    [sym_character] = ACTIONS(1471),
    [anon_sym_LBRACK2] = ACTIONS(1471),
    [anon_sym_DASH_GT] = ACTIONS(1471),
    [sym__simple_symbol] = ACTIONS(1471),
    [sym__string_start] = ACTIONS(1471),
    [sym__symbol_start] = ACTIONS(1471),
    [sym__subshell_start] = ACTIONS(1471),
    [sym__regex_start] = ACTIONS(1471),
    [sym__string_array_start] = ACTIONS(1471),
    [sym__symbol_array_start] = ACTIONS(1471),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1471),
    [sym__unary_minus] = ACTIONS(1471),
  },
  [935] = {
    [sym_heredoc_body] = STATE(935),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [ts_builtin_sym_end] = ACTIONS(1389),
    [anon_sym___END__] = ACTIONS(1389),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1389),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1473),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1475),
    [anon_sym_DASH_EQ] = ACTIONS(1475),
    [anon_sym_STAR_EQ] = ACTIONS(1475),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1475),
    [anon_sym_SLASH_EQ] = ACTIONS(1475),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1475),
    [anon_sym_PIPE_EQ] = ACTIONS(1475),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1475),
    [anon_sym_AMP_EQ] = ACTIONS(1475),
    [anon_sym_PERCENT_EQ] = ACTIONS(1475),
    [anon_sym_GT_GT_EQ] = ACTIONS(1475),
    [anon_sym_LT_LT_EQ] = ACTIONS(1475),
    [anon_sym_CARET_EQ] = ACTIONS(1475),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [936] = {
    [sym_heredoc_body] = STATE(936),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1389),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1477),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1479),
    [anon_sym_DASH_EQ] = ACTIONS(1479),
    [anon_sym_STAR_EQ] = ACTIONS(1479),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1479),
    [anon_sym_SLASH_EQ] = ACTIONS(1479),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1479),
    [anon_sym_PIPE_EQ] = ACTIONS(1479),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1479),
    [anon_sym_AMP_EQ] = ACTIONS(1479),
    [anon_sym_PERCENT_EQ] = ACTIONS(1479),
    [anon_sym_GT_GT_EQ] = ACTIONS(1479),
    [anon_sym_LT_LT_EQ] = ACTIONS(1479),
    [anon_sym_CARET_EQ] = ACTIONS(1479),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [937] = {
    [sym_heredoc_body] = STATE(937),
    [aux_sym__mlhs_repeat1] = STATE(2572),
    [anon_sym_RBRACE] = ACTIONS(1389),
    [anon_sym_RPAREN] = ACTIONS(1389),
    [anon_sym_DOT] = ACTIONS(1391),
    [anon_sym_COMMA] = ACTIONS(1463),
    [anon_sym_PIPE] = ACTIONS(1391),
    [anon_sym_SEMI] = ACTIONS(1389),
    [anon_sym_STAR_STAR] = ACTIONS(1391),
    [anon_sym_AMP] = ACTIONS(1391),
    [anon_sym_EQ] = ACTIONS(1481),
    [anon_sym_LT] = ACTIONS(1391),
    [anon_sym_end] = ACTIONS(1389),
    [anon_sym_if] = ACTIONS(1389),
    [anon_sym_unless] = ACTIONS(1389),
    [anon_sym_while] = ACTIONS(1389),
    [anon_sym_until] = ACTIONS(1389),
    [anon_sym_rescue] = ACTIONS(1389),
    [anon_sym_when] = ACTIONS(1389),
    [anon_sym_elsif] = ACTIONS(1389),
    [anon_sym_else] = ACTIONS(1389),
    [anon_sym_then] = ACTIONS(1389),
    [anon_sym_ensure] = ACTIONS(1389),
    [anon_sym_LBRACK] = ACTIONS(1389),
    [anon_sym_COLON_COLON2] = ACTIONS(1389),
    [anon_sym_AMP_DOT] = ACTIONS(1389),
    [anon_sym_PLUS_EQ] = ACTIONS(1483),
    [anon_sym_DASH_EQ] = ACTIONS(1483),
    [anon_sym_STAR_EQ] = ACTIONS(1483),
    [anon_sym_STAR_STAR_EQ] = ACTIONS(1483),
    [anon_sym_SLASH_EQ] = ACTIONS(1483),
    [anon_sym_PIPE_PIPE_EQ] = ACTIONS(1483),
    [anon_sym_PIPE_EQ] = ACTIONS(1483),
    [anon_sym_AMP_AMP_EQ] = ACTIONS(1483),
    [anon_sym_AMP_EQ] = ACTIONS(1483),
    [anon_sym_PERCENT_EQ] = ACTIONS(1483),
    [anon_sym_GT_GT_EQ] = ACTIONS(1483),
    [anon_sym_LT_LT_EQ] = ACTIONS(1483),
    [anon_sym_CARET_EQ] = ACTIONS(1483),
    [anon_sym_QMARK] = ACTIONS(1389),
    [anon_sym_DOT_DOT] = ACTIONS(1391),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1389),
    [anon_sym_and] = ACTIONS(1389),
    [anon_sym_or] = ACTIONS(1389),
    [anon_sym_PIPE_PIPE] = ACTIONS(1391),
    [anon_sym_AMP_AMP] = ACTIONS(1391),
    [anon_sym_LT_LT] = ACTIONS(1391),
    [anon_sym_GT_GT] = ACTIONS(1391),
    [anon_sym_LT_EQ] = ACTIONS(1391),
    [anon_sym_GT] = ACTIONS(1391),
    [anon_sym_GT_EQ] = ACTIONS(1389),
    [anon_sym_CARET] = ACTIONS(1391),
    [anon_sym_PLUS] = ACTIONS(1391),
    [anon_sym_SLASH] = ACTIONS(1391),
    [anon_sym_PERCENT] = ACTIONS(1391),
    [anon_sym_EQ_EQ] = ACTIONS(1391),
    [anon_sym_BANG_EQ] = ACTIONS(1389),
    [anon_sym_EQ_EQ_EQ] = ACTIONS(1389),
    [anon_sym_LT_EQ_GT] = ACTIONS(1389),
    [anon_sym_EQ_TILDE] = ACTIONS(1389),
    [anon_sym_BANG_TILDE] = ACTIONS(1389),
    [sym_comment] = ACTIONS(3),
    [sym__line_break] = ACTIONS(1389),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym__binary_minus] = ACTIONS(1389),
    [sym__binary_star] = ACTIONS(1389),
  },
  [938] = {
    [sym_heredoc_body] = STATE(938),
    [sym_identifier] = ACTIONS(1485),
    [anon_sym_BEGIN] = ACTIONS(1485),
    [anon_sym_LBRACE] = ACTIONS(1487),
    [anon_sym_RBRACE] = ACTIONS(1487),
    [anon_sym_END] = ACTIONS(1485),
    [anon_sym_def] = ACTIONS(1485),
    [anon_sym_LPAREN] = ACTIONS(1487),
    [anon_sym_RPAREN] = ACTIONS(1487),
    [anon_sym_COLON_COLON] = ACTIONS(1487),
    [anon_sym_SEMI] = ACTIONS(1487),
    [anon_sym_STAR] = ACTIONS(1487),
    [anon_sym_class] = ACTIONS(1485),
    [anon_sym_module] = ACTIONS(1485),
    [anon_sym_end] = ACTIONS(1485),
    [anon_sym_return] = ACTIONS(1485),
    [anon_sym_yield] = ACTIONS(1485),
    [anon_sym_break] = ACTIONS(1485),
    [anon_sym_next] = ACTIONS(1485),
    [anon_sym_redo] = ACTIONS(1485),
    [anon_sym_retry] = ACTIONS(1485),
    [anon_sym_if] = ACTIONS(1485),
    [anon_sym_unless] = ACTIONS(1485),
    [anon_sym_while] = ACTIONS(1485),
    [anon_sym_until] = ACTIONS(1485),
    [anon_sym_rescue] = ACTIONS(1485),
    [anon_sym_for] = ACTIONS(1485),
    [anon_sym_case] = ACTIONS(1485),
    [anon_sym_when] = ACTIONS(1485),
    [anon_sym_elsif] = ACTIONS(1485),
    [anon_sym_else] = ACTIONS(1485),
    [anon_sym_begin] = ACTIONS(1485),
    [anon_sym_ensure] = ACTIONS(1485),
    [anon_sym_PLUS] = ACTIONS(1485),
    [anon_sym_defined_QMARK] = ACTIONS(1487),
    [anon_sym_not] = ACTIONS(1485),
    [anon_sym_BANG] = ACTIONS(1487),
    [anon_sym_TILDE] = ACTIONS(1487),
    [anon_sym_undef] = ACTIONS(1485),
    [anon_sym_alias] = ACTIONS(1485),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1485),
    [sym_float] = ACTIONS(1485),
    [sym_complex] = ACTIONS(1487),
    [sym_super] = ACTIONS(1485),
    [sym_self] = ACTIONS(1485),
    [sym_true] = ACTIONS(1485),
    [sym_false] = ACTIONS(1485),
    [sym_nil] = ACTIONS(1485),
    [sym_constant] = ACTIONS(1485),
    [sym_instance_variable] = ACTIONS(1487),
    [sym_class_variable] = ACTIONS(1487),
    [sym_global_variable] = ACTIONS(1487),
    [sym_character] = ACTIONS(1487),
    [anon_sym_LBRACK2] = ACTIONS(1487),
    [anon_sym_DASH_GT] = ACTIONS(1487),
    [sym__simple_symbol] = ACTIONS(1487),
    [sym__string_start] = ACTIONS(1487),
    [sym__symbol_start] = ACTIONS(1487),
    [sym__subshell_start] = ACTIONS(1487),
    [sym__regex_start] = ACTIONS(1487),
    [sym__string_array_start] = ACTIONS(1487),
    [sym__symbol_array_start] = ACTIONS(1487),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1487),
    [sym__unary_minus] = ACTIONS(1487),
  },
  [939] = {
    [sym_heredoc_body] = STATE(939),
    [sym_identifier] = ACTIONS(1489),
    [anon_sym_BEGIN] = ACTIONS(1489),
    [anon_sym_LBRACE] = ACTIONS(1491),
    [anon_sym_RBRACE] = ACTIONS(1491),
    [anon_sym_END] = ACTIONS(1489),
    [anon_sym_def] = ACTIONS(1489),
    [anon_sym_LPAREN] = ACTIONS(1491),
    [anon_sym_RPAREN] = ACTIONS(1491),
    [anon_sym_COLON_COLON] = ACTIONS(1491),
    [anon_sym_SEMI] = ACTIONS(1491),
    [anon_sym_STAR] = ACTIONS(1491),
    [anon_sym_class] = ACTIONS(1489),
    [anon_sym_module] = ACTIONS(1489),
    [anon_sym_end] = ACTIONS(1489),
    [anon_sym_return] = ACTIONS(1489),
    [anon_sym_yield] = ACTIONS(1489),
    [anon_sym_break] = ACTIONS(1489),
    [anon_sym_next] = ACTIONS(1489),
    [anon_sym_redo] = ACTIONS(1489),
    [anon_sym_retry] = ACTIONS(1489),
    [anon_sym_if] = ACTIONS(1489),
    [anon_sym_unless] = ACTIONS(1489),
    [anon_sym_while] = ACTIONS(1489),
    [anon_sym_until] = ACTIONS(1489),
    [anon_sym_rescue] = ACTIONS(1489),
    [anon_sym_for] = ACTIONS(1489),
    [anon_sym_case] = ACTIONS(1489),
    [anon_sym_when] = ACTIONS(1489),
    [anon_sym_elsif] = ACTIONS(1489),
    [anon_sym_else] = ACTIONS(1489),
    [anon_sym_begin] = ACTIONS(1489),
    [anon_sym_ensure] = ACTIONS(1489),
    [anon_sym_PLUS] = ACTIONS(1489),
    [anon_sym_defined_QMARK] = ACTIONS(1491),
    [anon_sym_not] = ACTIONS(1489),
    [anon_sym_BANG] = ACTIONS(1491),
    [anon_sym_TILDE] = ACTIONS(1491),
    [anon_sym_undef] = ACTIONS(1489),
    [anon_sym_alias] = ACTIONS(1489),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(1489),
    [sym_float] = ACTIONS(1489),
    [sym_complex] = ACTIONS(1491),
    [sym_super] = ACTIONS(1489),
    [sym_self] = ACTIONS(1489),
    [sym_true] = ACTIONS(1489),
    [sym_false] = ACTIONS(1489),
    [sym_nil] = ACTIONS(1489),
    [sym_constant] = ACTIONS(1489),
    [sym_instance_variable] = ACTIONS(1491),
    [sym_class_variable] = ACTIONS(1491),
    [sym_global_variable] = ACTIONS(1491),
    [sym_character] = ACTIONS(1491),
    [anon_sym_LBRACK2] = ACTIONS(1491),
    [anon_sym_DASH_GT] = ACTIONS(1491),
    [sym__simple_symbol] = ACTIONS(1491),
    [sym__string_start] = ACTIONS(1491),
    [sym__symbol_start] = ACTIONS(1491),
    [sym__subshell_start] = ACTIONS(1491),
    [sym__regex_start] = ACTIONS(1491),
    [sym__string_array_start] = ACTIONS(1491),
    [sym__symbol_array_start] = ACTIONS(1491),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(1491),
    [sym__unary_minus] = ACTIONS(1491),
  },
  [940] = {
    [sym_heredoc_body] = STATE(940),
    [sym_identifier] = ACTIONS(482),
    [anon_sym_BEGIN] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(456),
    [anon_sym_RBRACE] = ACTIONS(456),
    [anon_sym_END] = ACTIONS(482),
    [anon_sym_def] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(456),
    [anon_sym_RPAREN] = ACTIONS(456),
    [anon_sym_COLON_COLON] = ACTIONS(456),
    [anon_sym_SEMI] = ACTIONS(456),
    [anon_sym_STAR] = ACTIONS(456),
    [anon_sym_class] = ACTIONS(482),
    [anon_sym_module] = ACTIONS(482),
    [anon_sym_end] = ACTIONS(482),
    [anon_sym_return] = ACTIONS(482),
    [anon_sym_yield] = ACTIONS(482),
    [anon_sym_break] = ACTIONS(482),
    [anon_sym_next] = ACTIONS(482),
    [anon_sym_redo] = ACTIONS(482),
    [anon_sym_retry] = ACTIONS(482),
    [anon_sym_if] = ACTIONS(482),
    [anon_sym_unless] = ACTIONS(482),
    [anon_sym_while] = ACTIONS(482),
    [anon_sym_until] = ACTIONS(482),
    [anon_sym_rescue] = ACTIONS(482),
    [anon_sym_for] = ACTIONS(482),
    [anon_sym_case] = ACTIONS(482),
    [anon_sym_when] = ACTIONS(482),
    [anon_sym_elsif] = ACTIONS(482),
    [anon_sym_else] = ACTIONS(482),
    [anon_sym_begin] = ACTIONS(482),
    [anon_sym_ensure] = ACTIONS(482),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_defined_QMARK] = ACTIONS(456),
    [anon_sym_not] = ACTIONS(482),
    [anon_sym_BANG] = ACTIONS(456),
    [anon_sym_TILDE] = ACTIONS(456),
    [anon_sym_undef] = ACTIONS(482),
    [anon_sym_alias] = ACTIONS(482),
    [sym_comment] = ACTIONS(71),
    [sym_integer] = ACTIONS(482),
    [sym_float] = ACTIONS(482),
    [sym_complex] = ACTIONS(456),
    [sym_super] = ACTIONS(482),
    [sym_self] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_nil] = ACTIONS(482),
    [sym_constant] = ACTIONS(482),
    [sym_instance_variable] = ACTIONS(456),
    [sym_class_variable] = ACTIONS(456),
    [sym_global_variable] = ACTIONS(456),
    [sym_character] = ACTIONS(456),
    [anon_sym_LBRACK2] = ACTIONS(456),
    [anon_sym_DASH_GT] = ACTIONS(456),
    [sym__simple_symbol] = ACTIONS(456),
    [sym__string_start] = ACTIONS(456),
    [sym__symbol_start] = ACTIONS(456),
    [sym__subshell_start] = ACTIONS(456),
    [sym__regex_start] = ACTIONS(456),
    [sym__string_array_start] = ACTIONS(456),
    [sym__symbol_array_start] = ACTIONS(456),
    [sym__heredoc_body_start] = ACTIONS(5),
    [sym_heredoc_beginning] = ACTIONS(456),
    [sym__unary_minus] = ACTIONS(456),
  },
};

static uint16_t ts_small_parse_table[] = {
  [0] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(941), 1,
      sym_heredoc_body,
    ACTIONS(1495), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1493), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [74] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(942), 1,
      sym_heredoc_body,
    ACTIONS(1471), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1469), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [148] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(943), 1,
      sym_heredoc_body,
    ACTIONS(1499), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1497), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [222] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(944), 1,
      sym_heredoc_body,
    ACTIONS(1503), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1501), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [296] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(945), 1,
      sym_heredoc_body,
    ACTIONS(1507), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1505), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [370] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(946), 1,
      sym_heredoc_body,
    ACTIONS(1511), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1509), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [444] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(947), 1,
      sym_heredoc_body,
    ACTIONS(1515), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1513), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [518] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(948), 1,
      sym_heredoc_body,
    ACTIONS(1519), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1517), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [592] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(949), 1,
      sym_heredoc_body,
    ACTIONS(1523), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1521), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [666] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(950), 1,
      sym_heredoc_body,
    ACTIONS(1527), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1525), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [740] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(951), 1,
      sym_heredoc_body,
    ACTIONS(1531), 25,
      sym__line_break,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1529), 35,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_end,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_for,
      anon_sym_case,
      anon_sym_else,
      anon_sym_begin,
      anon_sym_ensure,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [814] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(203), 1,
      anon_sym_LPAREN2,
    ACTIONS(1533), 1,
      anon_sym_LBRACE,
    STATE(952), 1,
      sym_heredoc_body,
    STATE(962), 1,
      sym_argument_list,
    STATE(1001), 1,
      sym_do_block,
    STATE(1003), 1,
      sym_block,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [895] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(203), 1,
      anon_sym_LPAREN2,
    ACTIONS(1533), 1,
      anon_sym_LBRACE,
    ACTIONS(1535), 1,
      anon_sym_do,
    STATE(953), 1,
      sym_heredoc_body,
    STATE(958), 1,
      sym_argument_list,
    STATE(1001), 1,
      sym_do_block,
    STATE(1003), 1,
      sym_block,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [978] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1537), 1,
      anon_sym_LBRACE,
    ACTIONS(1539), 1,
      anon_sym_do,
    ACTIONS(1541), 1,
      anon_sym_LPAREN2,
    STATE(954), 1,
      sym_heredoc_body,
    STATE(975), 1,
      sym_argument_list,
    STATE(1037), 1,
      sym_block,
    STATE(1038), 1,
      sym_do_block,
    ACTIONS(111), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 33,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1062] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(257), 1,
      anon_sym_LPAREN2,
    ACTIONS(1543), 1,
      anon_sym_LBRACE,
    STATE(955), 1,
      sym_heredoc_body,
    STATE(982), 1,
      sym_argument_list,
    STATE(1039), 1,
      sym_block,
    STATE(1070), 1,
      sym_do_block,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1142] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(257), 1,
      anon_sym_LPAREN2,
    ACTIONS(1543), 1,
      anon_sym_LBRACE,
    ACTIONS(1545), 1,
      anon_sym_do,
    STATE(956), 1,
      sym_heredoc_body,
    STATE(978), 1,
      sym_argument_list,
    STATE(1039), 1,
      sym_block,
    STATE(1070), 1,
      sym_do_block,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1224] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1547), 1,
      anon_sym_EQ,
    STATE(957), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1549), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1303] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1533), 1,
      anon_sym_LBRACE,
    ACTIONS(1535), 1,
      anon_sym_do,
    STATE(958), 1,
      sym_heredoc_body,
    STATE(1007), 1,
      sym_do_block,
    STATE(1008), 1,
      sym_block,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1380] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1551), 1,
      anon_sym_EQ,
    STATE(959), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1553), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1457] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(960), 1,
      sym_heredoc_body,
    ACTIONS(1471), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1469), 32,
      anon_sym___END__,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [1528] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1555), 1,
      anon_sym_EQ,
    STATE(961), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1557), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1607] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1533), 1,
      anon_sym_LBRACE,
    STATE(962), 1,
      sym_heredoc_body,
    STATE(1007), 1,
      sym_do_block,
    STATE(1008), 1,
      sym_block,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1682] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(963), 1,
      sym_heredoc_body,
    ACTIONS(456), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(482), 32,
      anon_sym___END__,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [1753] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(89), 1,
      sym__string_start,
    ACTIONS(1559), 1,
      anon_sym_COLON,
    STATE(964), 1,
      sym_heredoc_body,
    STATE(986), 1,
      aux_sym_chained_string_repeat1,
    STATE(1036), 1,
      sym_string,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1832] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1067), 1,
      anon_sym_COLON,
    STATE(965), 1,
      sym_heredoc_body,
    ACTIONS(767), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(769), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1903] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1561), 1,
      anon_sym_EQ,
    STATE(966), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1563), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [1982] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1063), 1,
      anon_sym_COLON,
    STATE(967), 1,
      sym_heredoc_body,
    ACTIONS(767), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(769), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2053] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1565), 1,
      anon_sym_EQ,
    STATE(968), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1567), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2130] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(969), 1,
      sym_heredoc_body,
    ACTIONS(1491), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1489), 32,
      anon_sym___END__,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [2201] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(970), 1,
      sym_heredoc_body,
    ACTIONS(1487), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      ts_builtin_sym_end,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1485), 32,
      anon_sym___END__,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [2272] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(971), 1,
      sym_heredoc_body,
    ACTIONS(791), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(793), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2340] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(972), 1,
      sym_heredoc_body,
    ACTIONS(779), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2408] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(973), 1,
      sym_heredoc_body,
    ACTIONS(1527), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1525), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [2478] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(974), 1,
      sym_heredoc_body,
    ACTIONS(787), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(789), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2546] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1537), 1,
      anon_sym_LBRACE,
    ACTIONS(1539), 1,
      anon_sym_do,
    STATE(975), 1,
      sym_heredoc_body,
    STATE(1034), 1,
      sym_do_block,
    STATE(1044), 1,
      sym_block,
    ACTIONS(1387), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 33,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2624] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1569), 1,
      anon_sym_LBRACE,
    ACTIONS(1571), 1,
      anon_sym_do,
    ACTIONS(1573), 1,
      anon_sym_LPAREN2,
    STATE(976), 1,
      sym_heredoc_body,
    STATE(1053), 1,
      sym_argument_list,
    STATE(1204), 1,
      sym_do_block,
    STATE(1206), 1,
      sym_block,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2706] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(977), 1,
      sym_heredoc_body,
    ACTIONS(1511), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1509), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [2776] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1543), 1,
      anon_sym_LBRACE,
    ACTIONS(1545), 1,
      anon_sym_do,
    STATE(978), 1,
      sym_heredoc_body,
    STATE(1051), 1,
      sym_do_block,
    STATE(1058), 1,
      sym_block,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2852] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(979), 1,
      sym_heredoc_body,
    ACTIONS(783), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(785), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2920] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1579), 1,
      sym__string_start,
    STATE(1036), 1,
      sym_string,
    STATE(980), 2,
      sym_heredoc_body,
      aux_sym_chained_string_repeat1,
    ACTIONS(1577), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1575), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [2994] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(981), 1,
      sym_heredoc_body,
    ACTIONS(775), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3062] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1543), 1,
      anon_sym_LBRACE,
    STATE(982), 1,
      sym_heredoc_body,
    STATE(1051), 1,
      sym_do_block,
    STATE(1058), 1,
      sym_block,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3136] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(983), 1,
      sym_heredoc_body,
    ACTIONS(795), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(797), 39,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3204] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(89), 1,
      sym__string_start,
    STATE(984), 1,
      sym_heredoc_body,
    STATE(986), 1,
      aux_sym_chained_string_repeat1,
    STATE(1036), 1,
      sym_string,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3280] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(985), 1,
      sym_heredoc_body,
    ACTIONS(1519), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1517), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [3350] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(89), 1,
      sym__string_start,
    STATE(980), 1,
      aux_sym_chained_string_repeat1,
    STATE(986), 1,
      sym_heredoc_body,
    STATE(1036), 1,
      sym_string,
    ACTIONS(1584), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1582), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3426] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1586), 1,
      anon_sym_EQ,
    STATE(987), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1588), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3500] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(988), 1,
      sym_heredoc_body,
    ACTIONS(1499), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1497), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [3570] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(989), 1,
      sym_heredoc_body,
    ACTIONS(1515), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1513), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [3640] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(990), 1,
      sym_heredoc_body,
    ACTIONS(1503), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1501), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [3710] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(991), 1,
      sym_heredoc_body,
    ACTIONS(1507), 25,
      sym__simple_symbol,
      sym__string_start,
      sym__symbol_start,
      sym__subshell_start,
      sym__regex_start,
      sym__string_array_start,
      sym__symbol_array_start,
      sym_heredoc_beginning,
      sym__unary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_COLON_COLON,
      anon_sym_SEMI,
      anon_sym_STAR,
      anon_sym_defined_QMARK,
      anon_sym_BANG,
      anon_sym_TILDE,
      sym_complex,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
      sym_character,
      anon_sym_LBRACK2,
      anon_sym_DASH_GT,
    ACTIONS(1505), 31,
      anon_sym_BEGIN,
      anon_sym_END,
      anon_sym_def,
      anon_sym_class,
      anon_sym_module,
      anon_sym_return,
      anon_sym_yield,
      anon_sym_break,
      anon_sym_next,
      anon_sym_redo,
      anon_sym_retry,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_for,
      anon_sym_case,
      anon_sym_begin,
      anon_sym_PLUS,
      anon_sym_not,
      anon_sym_undef,
      anon_sym_alias,
      sym_integer,
      sym_float,
      sym_super,
      sym_self,
      sym_true,
      sym_false,
      sym_nil,
      sym_constant,
      sym_identifier,
  [3780] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(992), 1,
      sym_heredoc_body,
    ACTIONS(775), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3847] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(993), 1,
      sym_heredoc_body,
    ACTIONS(783), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(785), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3914] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(994), 1,
      sym_heredoc_body,
    ACTIONS(1415), 2,
      anon_sym_LBRACE,
      anon_sym_do,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [3983] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(995), 1,
      sym_heredoc_body,
    ACTIONS(795), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(797), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4052] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(996), 1,
      sym_heredoc_body,
    STATE(1072), 1,
      sym_argument_list,
    ACTIONS(289), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(287), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4125] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(997), 1,
      sym_heredoc_body,
    STATE(1143), 1,
      sym_argument_list,
    ACTIONS(263), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(261), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4198] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(998), 1,
      sym_heredoc_body,
    ACTIONS(775), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4267] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(999), 1,
      sym_heredoc_body,
    STATE(1149), 1,
      sym_argument_list,
    ACTIONS(285), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(283), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4340] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(1000), 1,
      sym_heredoc_body,
    STATE(1129), 1,
      sym_argument_list,
    ACTIONS(293), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(291), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4413] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1001), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4480] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1002), 1,
      sym_heredoc_body,
    ACTIONS(779), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4549] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1003), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4616] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1004), 1,
      sym_heredoc_body,
    ACTIONS(1445), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1443), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4683] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1005), 1,
      sym_heredoc_body,
    ACTIONS(1453), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4750] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1006), 1,
      sym_heredoc_body,
    ACTIONS(1403), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4817] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1007), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4884] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1008), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [4951] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1009), 1,
      sym_heredoc_body,
    ACTIONS(1433), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5018] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1010), 1,
      sym_heredoc_body,
    ACTIONS(1592), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1590), 46,
      sym__line_break,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5087] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1011), 1,
      sym_heredoc_body,
    ACTIONS(1437), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1435), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5154] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1012), 1,
      sym_heredoc_body,
    ACTIONS(1421), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5221] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1013), 1,
      sym_heredoc_body,
    ACTIONS(779), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5288] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1014), 1,
      sym_heredoc_body,
    ACTIONS(791), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(793), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5355] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1015), 1,
      sym_heredoc_body,
    ACTIONS(1425), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5422] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1016), 1,
      sym_heredoc_body,
    ACTIONS(787), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(789), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5491] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1017), 1,
      sym_heredoc_body,
    ACTIONS(1429), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5558] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1018), 1,
      sym_heredoc_body,
    ACTIONS(1415), 3,
      anon_sym_LBRACE,
      anon_sym_do,
      anon_sym_EQ_GT,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5627] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1019), 1,
      sym_heredoc_body,
    ACTIONS(767), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(769), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5696] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(1020), 1,
      sym_heredoc_body,
    STATE(1150), 1,
      sym_argument_list,
    ACTIONS(1596), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1594), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5769] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1021), 1,
      sym_heredoc_body,
    ACTIONS(783), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(785), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5838] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1022), 1,
      sym_heredoc_body,
    ACTIONS(1399), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5905] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1023), 1,
      sym_heredoc_body,
    ACTIONS(1407), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [5972] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1024), 1,
      sym_heredoc_body,
    ACTIONS(1600), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1598), 46,
      sym__line_break,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6041] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1602), 1,
      anon_sym_EQ,
    STATE(1025), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1604), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6114] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1026), 1,
      sym_heredoc_body,
    ACTIONS(791), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(793), 36,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6183] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(265), 1,
      anon_sym_LPAREN2,
    STATE(1027), 1,
      sym_heredoc_body,
    STATE(1151), 1,
      sym_argument_list,
    ACTIONS(1608), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1606), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6256] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(89), 1,
      sym__string_start,
    ACTIONS(1610), 1,
      anon_sym_COLON,
    STATE(986), 1,
      aux_sym_chained_string_repeat1,
    STATE(1028), 1,
      sym_heredoc_body,
    STATE(1036), 1,
      sym_string,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 43,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6333] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1029), 1,
      sym_heredoc_body,
    ACTIONS(787), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(789), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6400] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1030), 1,
      sym_heredoc_body,
    ACTIONS(795), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(797), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6467] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1031), 1,
      sym_heredoc_body,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6534] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1032), 1,
      sym_heredoc_body,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 38,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6601] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1033), 1,
      sym_heredoc_body,
    ACTIONS(1445), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1443), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6669] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1034), 1,
      sym_heredoc_body,
    ACTIONS(1457), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6737] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1031), 1,
      anon_sym_COLON,
    STATE(1035), 1,
      sym_heredoc_body,
    ACTIONS(767), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(769), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6807] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1036), 1,
      sym_heredoc_body,
    ACTIONS(1614), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1612), 46,
      sym__line_break,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6875] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1037), 1,
      sym_heredoc_body,
    ACTIONS(1449), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [6943] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1038), 1,
      sym_heredoc_body,
    ACTIONS(1449), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7011] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1039), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7077] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1040), 1,
      sym_heredoc_body,
    ACTIONS(1417), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7145] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1616), 1,
      anon_sym_EQ,
    STATE(1041), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1618), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7217] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1042), 1,
      sym_heredoc_body,
    ACTIONS(111), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7285] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1043), 1,
      sym_heredoc_body,
    ACTIONS(1453), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7351] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1044), 1,
      sym_heredoc_body,
    ACTIONS(1457), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7419] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1045), 1,
      sym_heredoc_body,
    ACTIONS(1403), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7485] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1046), 1,
      sym_heredoc_body,
    ACTIONS(1437), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1435), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7553] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1047), 1,
      sym_heredoc_body,
    ACTIONS(1407), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7619] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1048), 1,
      sym_heredoc_body,
    ACTIONS(1399), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7685] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1049), 1,
      sym_heredoc_body,
    ACTIONS(1429), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7751] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1620), 1,
      anon_sym_r,
    STATE(1050), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7821] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1051), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7887] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1052), 1,
      sym_heredoc_body,
    ACTIONS(1445), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1443), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [7953] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1569), 1,
      anon_sym_LBRACE,
    ACTIONS(1571), 1,
      anon_sym_do,
    STATE(1053), 1,
      sym_heredoc_body,
    STATE(1196), 1,
      sym_do_block,
    STATE(1203), 1,
      sym_block,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8029] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1054), 1,
      sym_heredoc_body,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8095] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1055), 1,
      sym_heredoc_body,
    ACTIONS(1425), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8161] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1620), 1,
      anon_sym_r,
    STATE(1056), 1,
      sym_heredoc_body,
    ACTIONS(1624), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8231] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1057), 1,
      sym_heredoc_body,
    ACTIONS(1453), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8299] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1058), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8365] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1059), 1,
      sym_heredoc_body,
    ACTIONS(1403), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8433] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1060), 1,
      sym_heredoc_body,
    ACTIONS(1407), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8501] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1061), 1,
      sym_heredoc_body,
    ACTIONS(1399), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8569] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1062), 1,
      sym_heredoc_body,
    ACTIONS(1429), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8637] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1063), 1,
      sym_heredoc_body,
    ACTIONS(1425), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8705] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1064), 1,
      sym_heredoc_body,
    ACTIONS(1421), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8773] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1065), 1,
      sym_heredoc_body,
    ACTIONS(1433), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8841] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1066), 1,
      sym_heredoc_body,
    ACTIONS(1421), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8907] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1067), 1,
      sym_heredoc_body,
    ACTIONS(1441), 19,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1439), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [8975] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1068), 1,
      sym_heredoc_body,
    ACTIONS(1437), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1435), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9041] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1069), 1,
      sym_heredoc_body,
    ACTIONS(1433), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9107] = 4,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1070), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 37,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9173] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1071), 1,
      sym_heredoc_body,
    ACTIONS(1628), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1626), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9240] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1072), 1,
      sym_heredoc_body,
    ACTIONS(1632), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1630), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9307] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1073), 1,
      sym_heredoc_body,
    ACTIONS(1636), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1634), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9374] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1074), 1,
      sym_heredoc_body,
    ACTIONS(1640), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1638), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9441] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1075), 1,
      sym_heredoc_body,
    ACTIONS(1642), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1415), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9508] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1076), 1,
      sym_heredoc_body,
    ACTIONS(1399), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9575] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1077), 1,
      sym_heredoc_body,
    ACTIONS(1646), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1644), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9642] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1078), 1,
      sym_heredoc_body,
    ACTIONS(787), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(789), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9709] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1079), 1,
      sym_heredoc_body,
    ACTIONS(1429), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9776] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1080), 1,
      sym_heredoc_body,
    ACTIONS(1403), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9843] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1081), 1,
      sym_heredoc_body,
    ACTIONS(1650), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1648), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9910] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1082), 1,
      sym_heredoc_body,
    ACTIONS(1654), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1652), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [9977] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1083), 1,
      sym_heredoc_body,
    ACTIONS(1658), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1656), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10044] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1084), 1,
      sym_heredoc_body,
    ACTIONS(1662), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1660), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10111] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1085), 1,
      sym_heredoc_body,
    ACTIONS(1666), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1664), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10178] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1086), 1,
      sym_heredoc_body,
    ACTIONS(1624), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10245] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1087), 1,
      sym_heredoc_body,
    ACTIONS(1670), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1668), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10312] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1088), 1,
      sym_heredoc_body,
    ACTIONS(1674), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1672), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10379] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1089), 1,
      sym_heredoc_body,
    ACTIONS(1678), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1676), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10446] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1090), 1,
      sym_heredoc_body,
    ACTIONS(1682), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1680), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10513] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1091), 1,
      sym_heredoc_body,
    ACTIONS(1686), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1684), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10580] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1092), 1,
      sym_heredoc_body,
    ACTIONS(1407), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10647] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1093), 1,
      sym_heredoc_body,
    ACTIONS(1690), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1688), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10714] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1692), 1,
      anon_sym_EQ,
    STATE(1094), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1694), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10785] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1095), 1,
      sym_heredoc_body,
    ACTIONS(1698), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1696), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10852] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1096), 1,
      sym_heredoc_body,
    ACTIONS(1702), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1700), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10919] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1097), 1,
      sym_heredoc_body,
    ACTIONS(1706), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1704), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [10986] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1098), 1,
      sym_heredoc_body,
    ACTIONS(1710), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1708), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11053] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1099), 1,
      sym_heredoc_body,
    ACTIONS(1714), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1712), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11120] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1100), 1,
      sym_heredoc_body,
    ACTIONS(1718), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1716), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11187] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1101), 1,
      sym_heredoc_body,
    ACTIONS(1722), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1720), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11254] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1102), 1,
      sym_heredoc_body,
    ACTIONS(1726), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1724), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11321] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1103), 1,
      sym_heredoc_body,
    ACTIONS(1730), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1728), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11388] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1104), 1,
      sym_heredoc_body,
    ACTIONS(1734), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1732), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11455] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1105), 1,
      sym_heredoc_body,
    ACTIONS(1738), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1736), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11522] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1106), 1,
      sym_heredoc_body,
    ACTIONS(1742), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1740), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11589] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1107), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11656] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1108), 1,
      sym_heredoc_body,
    ACTIONS(1746), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1744), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11723] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1109), 1,
      sym_heredoc_body,
    ACTIONS(1750), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1748), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11790] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1110), 1,
      sym_heredoc_body,
    ACTIONS(1754), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1752), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11857] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1756), 1,
      anon_sym_EQ,
    STATE(1111), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1758), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11930] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1112), 1,
      sym_heredoc_body,
    ACTIONS(775), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [11997] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1113), 1,
      sym_heredoc_body,
    ACTIONS(1762), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1760), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12064] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1114), 1,
      sym_heredoc_body,
    ACTIONS(1766), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1764), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12131] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1115), 1,
      sym_heredoc_body,
    ACTIONS(779), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12198] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1116), 1,
      sym_heredoc_body,
    ACTIONS(1770), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1768), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12265] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1117), 1,
      sym_heredoc_body,
    ACTIONS(783), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(785), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12332] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1118), 1,
      sym_heredoc_body,
    ACTIONS(1774), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1772), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12399] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1119), 1,
      sym_heredoc_body,
    ACTIONS(795), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(797), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12466] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1120), 1,
      sym_heredoc_body,
    ACTIONS(1778), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1776), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12533] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1780), 1,
      anon_sym_EQ,
    STATE(1121), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1782), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12604] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1122), 1,
      sym_heredoc_body,
    ACTIONS(1786), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1784), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12671] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1123), 1,
      sym_heredoc_body,
    ACTIONS(1790), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1788), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12738] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1124), 1,
      sym_heredoc_body,
    ACTIONS(1794), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1792), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12805] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1125), 1,
      sym_heredoc_body,
    ACTIONS(1798), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1796), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12872] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1537), 1,
      anon_sym_LBRACE,
    ACTIONS(1541), 1,
      anon_sym_LPAREN2,
    STATE(1037), 1,
      sym_block,
    STATE(1038), 1,
      sym_do_block,
    STATE(1126), 1,
      sym_heredoc_body,
    STATE(1181), 1,
      sym_argument_list,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [12949] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1127), 1,
      sym_heredoc_body,
    ACTIONS(775), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13016] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1128), 1,
      sym_heredoc_body,
    ACTIONS(1802), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1800), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13083] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1129), 1,
      sym_heredoc_body,
    ACTIONS(1806), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1804), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13150] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1130), 1,
      sym_heredoc_body,
    ACTIONS(1810), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1808), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13217] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1131), 1,
      sym_heredoc_body,
    ACTIONS(1814), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1812), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13284] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1132), 1,
      sym_heredoc_body,
    ACTIONS(1818), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1816), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13351] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1133), 1,
      sym_heredoc_body,
    ACTIONS(1822), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1820), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13418] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1134), 1,
      sym_heredoc_body,
    ACTIONS(767), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(769), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13485] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1135), 1,
      sym_heredoc_body,
    ACTIONS(1826), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1824), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13552] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1136), 1,
      sym_heredoc_body,
    ACTIONS(1830), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1828), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13619] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1137), 1,
      sym_heredoc_body,
    ACTIONS(1834), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1832), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13686] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1138), 1,
      sym_heredoc_body,
    ACTIONS(1838), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1836), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13753] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1139), 1,
      sym_heredoc_body,
    ACTIONS(1842), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1840), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13820] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1140), 1,
      sym_heredoc_body,
    ACTIONS(1846), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1844), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13887] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1141), 1,
      sym_heredoc_body,
    ACTIONS(1850), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1848), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [13954] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1142), 1,
      sym_heredoc_body,
    ACTIONS(791), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(793), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14021] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1143), 1,
      sym_heredoc_body,
    ACTIONS(1854), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1852), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14088] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1144), 1,
      sym_heredoc_body,
    ACTIONS(1417), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14155] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1145), 1,
      sym_heredoc_body,
    ACTIONS(1858), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1856), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14222] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1146), 1,
      sym_heredoc_body,
    ACTIONS(1862), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1860), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14289] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1147), 1,
      sym_heredoc_body,
    ACTIONS(1866), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1864), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14356] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1148), 1,
      sym_heredoc_body,
    ACTIONS(1870), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1868), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14423] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1149), 1,
      sym_heredoc_body,
    ACTIONS(1874), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1872), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14490] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1150), 1,
      sym_heredoc_body,
    ACTIONS(1878), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1876), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14557] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1151), 1,
      sym_heredoc_body,
    ACTIONS(1882), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1880), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14624] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1152), 1,
      sym_heredoc_body,
    ACTIONS(1886), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1884), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14691] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1153), 1,
      sym_heredoc_body,
    ACTIONS(1890), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1888), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14758] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1154), 1,
      sym_heredoc_body,
    ACTIONS(1894), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1892), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14825] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1155), 1,
      sym_heredoc_body,
    ACTIONS(1453), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14892] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1156), 1,
      sym_heredoc_body,
    ACTIONS(779), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 35,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [14959] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1157), 1,
      sym_heredoc_body,
    ACTIONS(1898), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1896), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15026] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1158), 1,
      sym_heredoc_body,
    ACTIONS(1902), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1900), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15093] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1159), 1,
      sym_heredoc_body,
    ACTIONS(1906), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1904), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15160] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1160), 1,
      sym_heredoc_body,
    ACTIONS(1910), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1908), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15227] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1161), 1,
      sym_heredoc_body,
    ACTIONS(1914), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1912), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15294] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1162), 1,
      sym_heredoc_body,
    ACTIONS(1918), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1916), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15361] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1163), 1,
      sym_heredoc_body,
    ACTIONS(1922), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1920), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15428] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1164), 1,
      sym_heredoc_body,
    ACTIONS(1425), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15495] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1165), 1,
      sym_heredoc_body,
    ACTIONS(1926), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1924), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15562] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1930), 1,
      anon_sym_DOT,
    ACTIONS(1934), 1,
      anon_sym_LBRACK,
    ACTIONS(1936), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(1938), 1,
      anon_sym_AMP_DOT,
    STATE(1166), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15637] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1167), 1,
      sym_heredoc_body,
    ACTIONS(1441), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1439), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15704] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1168), 1,
      sym_heredoc_body,
    ACTIONS(1942), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1940), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15771] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1169), 1,
      sym_heredoc_body,
    ACTIONS(1946), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1944), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15838] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1170), 1,
      sym_heredoc_body,
    ACTIONS(1950), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1948), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15905] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1171), 1,
      sym_heredoc_body,
    ACTIONS(1421), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [15972] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1172), 1,
      sym_heredoc_body,
    ACTIONS(1954), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1952), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16039] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1173), 1,
      sym_heredoc_body,
    ACTIONS(1958), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1956), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16106] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1960), 1,
      anon_sym_EQ,
    STATE(1174), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1962), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16179] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1175), 1,
      sym_heredoc_body,
    ACTIONS(1433), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 45,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16246] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1964), 1,
      anon_sym_EQ,
    STATE(1176), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1966), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 20,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16318] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1968), 1,
      anon_sym_EQ,
    STATE(1177), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1970), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 20,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16390] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1972), 1,
      anon_sym_DOT,
    ACTIONS(1974), 1,
      anon_sym_LBRACK,
    ACTIONS(1976), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(1978), 1,
      anon_sym_AMP_DOT,
    STATE(1178), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16464] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1980), 1,
      anon_sym_EQ,
    STATE(1179), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1982), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 19,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16535] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1934), 1,
      anon_sym_LBRACK,
    ACTIONS(1984), 1,
      anon_sym_DOT,
    ACTIONS(1986), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(1988), 1,
      anon_sym_AMP_DOT,
    STATE(1180), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16608] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1537), 1,
      anon_sym_LBRACE,
    STATE(1034), 1,
      sym_do_block,
    STATE(1044), 1,
      sym_block,
    STATE(1181), 1,
      sym_heredoc_body,
    ACTIONS(1387), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1385), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16679] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1990), 1,
      anon_sym_EQ,
    STATE(1182), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1992), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 19,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16750] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(1994), 1,
      anon_sym_EQ,
    STATE(1183), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1996), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 18,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16823] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1998), 1,
      anon_sym_EQ,
    STATE(1184), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2000), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 19,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16894] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1185), 1,
      sym_heredoc_body,
    ACTIONS(1417), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [16958] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1186), 1,
      sym_heredoc_body,
    ACTIONS(1399), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17022] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1187), 1,
      sym_heredoc_body,
    ACTIONS(1445), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1443), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17086] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1188), 1,
      sym_heredoc_body,
    STATE(1205), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17152] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1189), 1,
      sym_heredoc_body,
    ACTIONS(1437), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1435), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17216] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1190), 1,
      sym_heredoc_body,
    ACTIONS(1403), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17280] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2006), 1,
      anon_sym_EQ,
    STATE(1191), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2008), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 18,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17350] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1192), 1,
      sym_heredoc_body,
    ACTIONS(1441), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1439), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17414] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1193), 1,
      sym_heredoc_body,
    STATE(1205), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [17508] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(2040), 1,
      anon_sym_EQ,
    STATE(1194), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2042), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1389), 17,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
  [17580] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1195), 1,
      sym_heredoc_body,
    ACTIONS(1429), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17644] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1196), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17708] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1197), 1,
      sym_heredoc_body,
    ACTIONS(1421), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17772] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1198), 1,
      sym_heredoc_body,
    ACTIONS(1425), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17836] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2046), 1,
      anon_sym_COMMA,
    STATE(1199), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17902] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1200), 1,
      sym_heredoc_body,
    ACTIONS(1433), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [17966] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1201), 1,
      sym_heredoc_body,
    ACTIONS(111), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(107), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18030] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1202), 1,
      sym_heredoc_body,
    ACTIONS(1407), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18094] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1203), 1,
      sym_heredoc_body,
    ACTIONS(1457), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1455), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18158] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1204), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18222] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2053), 1,
      anon_sym_COMMA,
    STATE(1199), 1,
      aux_sym_exceptions_repeat1,
    STATE(1205), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18290] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1206), 1,
      sym_heredoc_body,
    ACTIONS(1449), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1447), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18354] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(1207), 1,
      sym_heredoc_body,
    ACTIONS(1453), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_EQ,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18418] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1208), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18483] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    STATE(1209), 1,
      sym_heredoc_body,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 27,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [18568] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1210), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [18659] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1211), 1,
      sym_heredoc_body,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18722] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1212), 1,
      sym_heredoc_body,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 38,
      sym__line_break,
      sym__binary_minus,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [18789] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(2065), 1,
      anon_sym_EQ,
    STATE(1213), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2067), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1389), 16,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
  [18860] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1214), 1,
      sym_heredoc_body,
    STATE(1218), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [18953] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1215), 1,
      sym_heredoc_body,
    STATE(1218), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19018] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1216), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [19109] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1217), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [19200] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2099), 1,
      anon_sym_COMMA,
    STATE(1218), 1,
      sym_heredoc_body,
    STATE(1219), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19267] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2101), 1,
      anon_sym_COMMA,
    STATE(1219), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19332] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(2104), 1,
      anon_sym_EQ,
    STATE(1220), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2106), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1389), 15,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(1391), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
  [19403] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1221), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [19494] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1222), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19559] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    STATE(1223), 1,
      sym_heredoc_body,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 34,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19632] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1224), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 41,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19697] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1225), 1,
      sym_heredoc_body,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 34,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19768] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    STATE(1226), 1,
      sym_heredoc_body,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 33,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [19845] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2110), 1,
      anon_sym_EQ,
    STATE(1227), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2112), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1389), 16,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(1391), 18,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
  [19914] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1228), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 24,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [20003] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1229), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [20066] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1230), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [20129] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1231), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [20220] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1232), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [20311] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    STATE(1233), 1,
      sym_heredoc_body,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 27,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [20396] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    STATE(1234), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [20487] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2010), 1,
      anon_sym_PIPE,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2014), 1,
      anon_sym_AMP,
    ACTIONS(2018), 1,
      anon_sym_QMARK,
    ACTIONS(2020), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2022), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2028), 1,
      anon_sym_GT_EQ,
    ACTIONS(2030), 1,
      anon_sym_CARET,
    ACTIONS(2036), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2122), 1,
      anon_sym_EQ_GT,
    STATE(1235), 1,
      sym_heredoc_body,
    ACTIONS(2024), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2026), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2016), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2038), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2120), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [20580] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_STAR_STAR,
    STATE(1236), 1,
      sym_heredoc_body,
    ACTIONS(2032), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2034), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 36,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [20649] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    ACTIONS(2124), 1,
      anon_sym_EQ,
    STATE(1237), 1,
      sym_heredoc_body,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(2126), 13,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_STAR_EQ,
      anon_sym_STAR_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PIPE_PIPE_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_AMP_AMP_EQ,
      anon_sym_AMP_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_CARET_EQ,
    ACTIONS(1389), 16,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(1391), 17,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
  [20720] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1238), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 42,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [20783] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1239), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [20873] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1240), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [20963] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1974), 1,
      anon_sym_LBRACK,
    ACTIONS(2128), 1,
      anon_sym_DOT,
    ACTIONS(2130), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2132), 1,
      anon_sym_AMP_DOT,
    STATE(1241), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 37,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21033] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1242), 1,
      sym_heredoc_body,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 37,
      sym__line_break,
      sym__binary_minus,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21099] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1243), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [21189] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1244), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21253] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1245), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [21343] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1246), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [21433] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    STATE(1247), 1,
      sym_heredoc_body,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 33,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21505] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1248), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21569] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1249), 1,
      sym_heredoc_body,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 26,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [21653] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1250), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21717] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1251), 1,
      sym_heredoc_body,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 33,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21787] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1252), 1,
      sym_heredoc_body,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [21879] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    STATE(1253), 1,
      sym_heredoc_body,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 32,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [21955] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2164), 1,
      anon_sym_COMMA,
    STATE(1254), 1,
      sym_heredoc_body,
    STATE(1259), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [22021] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1255), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2166), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22111] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1256), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [22199] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1257), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2168), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22289] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1258), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2170), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22379] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2172), 1,
      anon_sym_COMMA,
    STATE(1259), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [22443] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1260), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2175), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22533] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1261), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22623] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    STATE(1262), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 40,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [22687] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2077), 1,
      anon_sym_QMARK,
    ACTIONS(2079), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2081), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1263), 1,
      sym_heredoc_body,
    ACTIONS(2083), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [22777] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2069), 1,
      anon_sym_PIPE,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2073), 1,
      anon_sym_AMP,
    ACTIONS(2087), 1,
      anon_sym_GT_EQ,
    ACTIONS(2089), 1,
      anon_sym_CARET,
    ACTIONS(2095), 1,
      anon_sym_EQ_EQ,
    STATE(1264), 1,
      sym_heredoc_body,
    ACTIONS(2085), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2075), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2097), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 26,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [22861] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2071), 1,
      anon_sym_STAR_STAR,
    STATE(1265), 1,
      sym_heredoc_body,
    ACTIONS(2091), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2093), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 35,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [22929] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1266), 1,
      sym_heredoc_body,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [23020] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1267), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [23109] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    STATE(1268), 1,
      sym_heredoc_body,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 32,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23180] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1269), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [23269] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1270), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23332] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1271), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [23421] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1272), 1,
      sym_heredoc_body,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 36,
      sym__line_break,
      sym__binary_minus,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23486] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1273), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23549] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1274), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23612] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2207), 1,
      anon_sym_EQ_GT,
    STATE(1275), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2120), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [23703] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1276), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [23792] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1277), 1,
      sym_heredoc_body,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 32,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23861] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    STATE(1278), 1,
      sym_heredoc_body,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 31,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [23936] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1279), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [24023] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1280), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [24112] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1281), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [24201] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1282), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [24290] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2209), 1,
      anon_sym_COMMA,
    STATE(1283), 1,
      sym_heredoc_body,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [24355] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2209), 1,
      anon_sym_COMMA,
    STATE(1284), 1,
      sym_heredoc_body,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [24448] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2209), 1,
      anon_sym_COMMA,
    STATE(1285), 1,
      sym_heredoc_body,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [24541] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1286), 1,
      sym_heredoc_body,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 39,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [24604] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1287), 1,
      sym_heredoc_body,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [24687] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2211), 1,
      anon_sym_COMMA,
    STATE(1288), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [24750] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2209), 1,
      anon_sym_COMMA,
    STATE(1288), 1,
      aux_sym_exceptions_repeat1,
    STATE(1289), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [24815] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    STATE(1290), 1,
      sym_heredoc_body,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 34,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [24882] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1289), 1,
      aux_sym_exceptions_repeat1,
    STATE(1291), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [24973] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1292), 1,
      sym_heredoc_body,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [25056] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1293), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [25118] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1294), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25206] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1295), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2175), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25294] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1296), 1,
      sym_heredoc_body,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 33,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [25360] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1297), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25448] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1298), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25536] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1299), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25624] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1300), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25712] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1301), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2170), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25800] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1302), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2166), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [25888] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1303), 1,
      sym_heredoc_body,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 24,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [25970] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1304), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [26058] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1305), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2168), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [26146] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1306), 1,
      sym_heredoc_body,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 35,
      sym__line_break,
      sym__binary_minus,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26210] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1307), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26272] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1308), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [26360] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    STATE(1309), 1,
      sym_heredoc_body,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 31,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26430] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1310), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 38,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26492] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2185), 1,
      anon_sym_QMARK,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1311), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [26580] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    STATE(1312), 1,
      sym_heredoc_body,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 31,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26648] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1313), 1,
      sym_heredoc_body,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 24,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [26730] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    STATE(1314), 1,
      sym_heredoc_body,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 30,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26804] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2177), 1,
      anon_sym_PIPE,
    ACTIONS(2179), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2181), 1,
      anon_sym_AMP,
    ACTIONS(2187), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2189), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2195), 1,
      anon_sym_GT_EQ,
    ACTIONS(2197), 1,
      anon_sym_CARET,
    ACTIONS(2203), 1,
      anon_sym_EQ_EQ,
    STATE(1315), 1,
      sym_heredoc_body,
    ACTIONS(2191), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2193), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2199), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2183), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2201), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2205), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [26890] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(231), 1,
      sym__string_start,
    ACTIONS(2214), 1,
      anon_sym_COLON,
    STATE(1316), 1,
      sym_heredoc_body,
    STATE(1338), 2,
      sym_string,
      aux_sym_chained_string_repeat1,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [26953] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    STATE(1317), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [27034] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1318), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [27121] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1319), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [27208] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    STATE(1320), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 23,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [27289] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1321), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 30,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27356] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1322), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 37,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27417] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1323), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 37,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27478] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    STATE(1324), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 29,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27551] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1325), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [27638] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    STATE(1326), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 30,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27707] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1934), 1,
      anon_sym_LBRACK,
    ACTIONS(2246), 1,
      anon_sym_DOT,
    ACTIONS(2248), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2250), 1,
      anon_sym_AMP_DOT,
    STATE(1327), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 34,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27774] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1328), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [27861] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1329), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 37,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [27922] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1330), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [28009] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(89), 1,
      sym__string_start,
    ACTIONS(2252), 1,
      anon_sym_COLON,
    STATE(986), 1,
      aux_sym_chained_string_repeat1,
    STATE(1036), 1,
      sym_string,
    STATE(1331), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 33,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28076] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1332), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [28161] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1333), 1,
      sym_heredoc_body,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 34,
      sym__line_break,
      sym__binary_minus,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28224] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1334), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2254), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [28311] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2216), 1,
      anon_sym_PIPE,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2220), 1,
      anon_sym_AMP,
    ACTIONS(2226), 1,
      anon_sym_GT_EQ,
    ACTIONS(2228), 1,
      anon_sym_CARET,
    ACTIONS(2234), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2238), 1,
      anon_sym_QMARK,
    ACTIONS(2240), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2242), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1335), 1,
      sym_heredoc_body,
    ACTIONS(2224), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2244), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2222), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2236), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [28398] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2218), 1,
      anon_sym_STAR_STAR,
    STATE(1336), 1,
      sym_heredoc_body,
    ACTIONS(2230), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2232), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 32,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28463] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(231), 1,
      sym__string_start,
    STATE(1337), 1,
      sym_heredoc_body,
    STATE(1338), 2,
      sym_string,
      aux_sym_chained_string_repeat1,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28523] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(231), 1,
      sym__string_start,
    STATE(1338), 1,
      sym_heredoc_body,
    STATE(1342), 2,
      sym_string,
      aux_sym_chained_string_repeat1,
    ACTIONS(1584), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1582), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28583] = 15,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2256), 1,
      sym_identifier,
    ACTIONS(2258), 1,
      anon_sym_LPAREN,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    STATE(1339), 1,
      sym_heredoc_body,
    STATE(1549), 1,
      sym__method_rest,
    STATE(2126), 1,
      sym__method_name,
    STATE(2767), 1,
      sym__variable,
    ACTIONS(2264), 2,
      sym_super,
      sym_self,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2266), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [28661] = 15,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2256), 1,
      sym_identifier,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2272), 1,
      anon_sym_LPAREN,
    STATE(1340), 1,
      sym_heredoc_body,
    STATE(2127), 1,
      sym__method_name,
    STATE(2657), 1,
      sym__method_rest,
    STATE(2751), 1,
      sym__variable,
    ACTIONS(2264), 2,
      sym_super,
      sym_self,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2266), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [28739] = 15,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2256), 1,
      sym_identifier,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2274), 1,
      anon_sym_LPAREN,
    STATE(1096), 1,
      sym__method_rest,
    STATE(1341), 1,
      sym_heredoc_body,
    STATE(2129), 1,
      sym__method_name,
    STATE(2757), 1,
      sym__variable,
    ACTIONS(2264), 2,
      sym_super,
      sym_self,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2266), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [28817] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2276), 1,
      sym__string_start,
    STATE(1342), 3,
      sym_string,
      sym_heredoc_body,
      aux_sym_chained_string_repeat1,
    ACTIONS(1577), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1575), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28875] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1343), 1,
      sym_heredoc_body,
    STATE(1553), 1,
      sym_argument_list,
    ACTIONS(1608), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1606), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28936] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1344), 1,
      sym_heredoc_body,
    STATE(1522), 1,
      sym_argument_list,
    ACTIONS(1596), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1594), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [28995] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1345), 1,
      sym_heredoc_body,
    STATE(1525), 1,
      sym_argument_list,
    ACTIONS(263), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(261), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29054] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1346), 1,
      sym_heredoc_body,
    STATE(1526), 1,
      sym_argument_list,
    ACTIONS(289), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(287), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29113] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1347), 1,
      sym_heredoc_body,
    STATE(1527), 1,
      sym_argument_list,
    ACTIONS(293), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(291), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29172] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1348), 1,
      sym_heredoc_body,
    STATE(1539), 1,
      sym_argument_list,
    ACTIONS(289), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(287), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29233] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(881), 1,
      sym__string_start,
    STATE(1349), 1,
      sym_heredoc_body,
    STATE(1354), 1,
      aux_sym_chained_string_repeat1,
    STATE(1364), 1,
      sym_string,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29296] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1350), 1,
      sym_heredoc_body,
    STATE(1537), 1,
      sym_argument_list,
    ACTIONS(293), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(291), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29357] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(231), 1,
      sym__string_start,
    ACTIONS(2281), 1,
      anon_sym_COLON,
    STATE(1351), 1,
      sym_heredoc_body,
    STATE(1338), 2,
      sym_string,
      aux_sym_chained_string_repeat1,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29418] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2283), 1,
      sym__string_start,
    STATE(1364), 1,
      sym_string,
    STATE(1352), 2,
      sym_heredoc_body,
      aux_sym_chained_string_repeat1,
    ACTIONS(1577), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1575), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29479] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1353), 1,
      sym_heredoc_body,
    ACTIONS(1600), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1598), 35,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29534] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(881), 1,
      sym__string_start,
    STATE(1352), 1,
      aux_sym_chained_string_repeat1,
    STATE(1354), 1,
      sym_heredoc_body,
    STATE(1364), 1,
      sym_string,
    ACTIONS(1584), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1582), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29597] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1355), 1,
      sym_heredoc_body,
    ACTIONS(1592), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1590), 35,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29652] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1356), 1,
      sym_heredoc_body,
    STATE(1523), 1,
      sym_argument_list,
    ACTIONS(285), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(283), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29711] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1357), 1,
      sym_heredoc_body,
    STATE(1541), 1,
      sym_argument_list,
    ACTIONS(263), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(261), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29772] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(301), 1,
      anon_sym_LPAREN2,
    STATE(1358), 1,
      sym_heredoc_body,
    STATE(1521), 1,
      sym_argument_list,
    ACTIONS(1608), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1606), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29831] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1359), 1,
      sym_heredoc_body,
    STATE(1543), 1,
      sym_argument_list,
    ACTIONS(1596), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1594), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [29892] = 14,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2256), 1,
      sym_identifier,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2286), 1,
      anon_sym_LPAREN,
    STATE(1360), 1,
      sym_heredoc_body,
    STATE(1529), 1,
      sym__method_rest,
    STATE(2135), 1,
      sym__method_name,
    STATE(2831), 1,
      sym__variable,
    ACTIONS(2264), 2,
      sym_super,
      sym_self,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2266), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [29967] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2279), 1,
      anon_sym_LPAREN2,
    STATE(1361), 1,
      sym_heredoc_body,
    STATE(1542), 1,
      sym_argument_list,
    ACTIONS(285), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(283), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30028] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2288), 1,
      anon_sym_r,
    STATE(1362), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30084] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2290), 1,
      anon_sym_r,
    STATE(1363), 1,
      sym_heredoc_body,
    ACTIONS(1624), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30142] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1364), 1,
      sym_heredoc_body,
    ACTIONS(1614), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1612), 33,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30198] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2288), 1,
      anon_sym_r,
    STATE(1365), 1,
      sym_heredoc_body,
    ACTIONS(1624), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30254] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2290), 1,
      anon_sym_r,
    STATE(1366), 1,
      sym_heredoc_body,
    ACTIONS(1391), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30312] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1367), 1,
      sym_heredoc_body,
    ACTIONS(1600), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1598), 33,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30368] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1974), 1,
      anon_sym_LBRACK,
    ACTIONS(2292), 1,
      anon_sym_DOT,
    ACTIONS(2294), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2296), 1,
      anon_sym_AMP_DOT,
    STATE(1368), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 31,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30432] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1369), 1,
      sym_heredoc_body,
    ACTIONS(1592), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_COLON,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1590), 33,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30488] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1370), 1,
      sym_heredoc_body,
    ACTIONS(1706), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1704), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30543] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1371), 1,
      sym_heredoc_body,
    ACTIONS(1770), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1768), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30596] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1372), 1,
      sym_heredoc_body,
    ACTIONS(1830), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1828), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30649] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1373), 1,
      sym_heredoc_body,
    ACTIONS(1834), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1832), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30702] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1374), 1,
      sym_heredoc_body,
    ACTIONS(1898), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1896), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30755] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1375), 1,
      sym_heredoc_body,
    ACTIONS(1914), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1912), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30808] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1376), 1,
      sym_heredoc_body,
    ACTIONS(1922), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1920), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30861] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1377), 1,
      sym_heredoc_body,
    ACTIONS(1958), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1956), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30914] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1378), 1,
      sym_heredoc_body,
    ACTIONS(1734), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1732), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [30969] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1379), 1,
      sym_heredoc_body,
    ACTIONS(1802), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1800), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31022] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1380), 1,
      sym_heredoc_body,
    ACTIONS(1778), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1776), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31075] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1381), 1,
      sym_heredoc_body,
    ACTIONS(1754), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1752), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31128] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1382), 1,
      sym_heredoc_body,
    ACTIONS(1628), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1626), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31181] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1383), 1,
      sym_heredoc_body,
    ACTIONS(1846), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1844), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31234] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1384), 1,
      sym_heredoc_body,
    ACTIONS(1662), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1660), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31287] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1385), 1,
      sym_heredoc_body,
    ACTIONS(1686), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1684), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31340] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1386), 1,
      sym_heredoc_body,
    ACTIONS(1690), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1688), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31393] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1387), 1,
      sym_heredoc_body,
    ACTIONS(1698), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1696), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31446] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1388), 1,
      sym_heredoc_body,
    ACTIONS(1714), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1712), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31499] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1389), 1,
      sym_heredoc_body,
    ACTIONS(1734), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1732), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31552] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1390), 1,
      sym_heredoc_body,
    ACTIONS(1766), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1764), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31605] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1391), 1,
      sym_heredoc_body,
    ACTIONS(1790), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1788), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31658] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1392), 1,
      sym_heredoc_body,
    ACTIONS(1798), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1796), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31711] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1393), 1,
      sym_heredoc_body,
    ACTIONS(1894), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1892), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31764] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1394), 1,
      sym_heredoc_body,
    ACTIONS(1906), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1904), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31817] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1395), 1,
      sym_heredoc_body,
    ACTIONS(1766), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1764), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31872] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1396), 1,
      sym_heredoc_body,
    ACTIONS(1403), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31925] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1397), 1,
      sym_heredoc_body,
    ACTIONS(1866), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1864), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [31978] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1398), 1,
      sym_heredoc_body,
    ACTIONS(1726), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1724), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32031] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1399), 1,
      sym_heredoc_body,
    ACTIONS(1722), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1720), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32084] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1400), 1,
      sym_heredoc_body,
    ACTIONS(1658), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1656), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32137] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1401), 1,
      sym_heredoc_body,
    ACTIONS(1650), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1648), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32190] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1402), 1,
      sym_heredoc_body,
    ACTIONS(1670), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1668), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32243] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1403), 1,
      sym_heredoc_body,
    ACTIONS(1425), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32298] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1404), 1,
      sym_heredoc_body,
    ACTIONS(1790), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1788), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32353] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1405), 1,
      sym_heredoc_body,
    ACTIONS(1778), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1776), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32408] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1406), 1,
      sym_heredoc_body,
    ACTIONS(779), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32461] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1407), 1,
      sym_heredoc_body,
    ACTIONS(1902), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1900), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32516] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1408), 1,
      sym_heredoc_body,
    ACTIONS(1754), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1752), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32571] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1409), 1,
      sym_heredoc_body,
    ACTIONS(1906), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1904), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32626] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1410), 1,
      sym_heredoc_body,
    ACTIONS(1786), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1784), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32679] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1411), 1,
      sym_heredoc_body,
    ACTIONS(1810), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1808), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32732] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1412), 1,
      sym_heredoc_body,
    ACTIONS(1802), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1800), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32787] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2298), 1,
      anon_sym_DOT,
    ACTIONS(2300), 1,
      anon_sym_LBRACK,
    ACTIONS(2302), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2304), 1,
      anon_sym_AMP_DOT,
    STATE(1413), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32848] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1414), 1,
      sym_heredoc_body,
    ACTIONS(1453), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32901] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1415), 1,
      sym_heredoc_body,
    ACTIONS(1628), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1626), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [32956] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1416), 1,
      sym_heredoc_body,
    ACTIONS(1846), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1844), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33011] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1417), 1,
      sym_heredoc_body,
    ACTIONS(1670), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1668), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33066] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1418), 1,
      sym_heredoc_body,
    ACTIONS(1662), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1660), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33121] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1419), 1,
      sym_heredoc_body,
    ACTIONS(1798), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1796), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33176] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1420), 1,
      sym_heredoc_body,
    ACTIONS(1894), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1892), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33231] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1421), 1,
      sym_heredoc_body,
    ACTIONS(1686), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1684), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33286] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1422), 1,
      sym_heredoc_body,
    ACTIONS(1690), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1688), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33341] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1423), 1,
      sym_heredoc_body,
    ACTIONS(1866), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1864), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33396] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1424), 1,
      sym_heredoc_body,
    ACTIONS(1726), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1724), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33451] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1425), 1,
      sym_heredoc_body,
    ACTIONS(1722), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1720), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33506] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1426), 1,
      sym_heredoc_body,
    ACTIONS(1698), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1696), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33561] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1427), 1,
      sym_heredoc_body,
    ACTIONS(1658), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1656), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33616] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1428), 1,
      sym_heredoc_body,
    ACTIONS(1714), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1712), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33671] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1429), 1,
      sym_heredoc_body,
    ACTIONS(1794), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1792), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33724] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1430), 1,
      sym_heredoc_body,
    ACTIONS(1650), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1648), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33779] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1431), 1,
      sym_heredoc_body,
    ACTIONS(1750), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1748), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33832] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1432), 1,
      sym_heredoc_body,
    ACTIONS(1762), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1760), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33885] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1433), 1,
      sym_heredoc_body,
    ACTIONS(1730), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1728), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33938] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1434), 1,
      sym_heredoc_body,
    ACTIONS(1926), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1924), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [33993] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1435), 1,
      sym_heredoc_body,
    ACTIONS(1433), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34048] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1436), 1,
      sym_heredoc_body,
    ACTIONS(1958), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1956), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34103] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1437), 1,
      sym_heredoc_body,
    ACTIONS(1898), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1896), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34158] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1438), 1,
      sym_heredoc_body,
    ACTIONS(775), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34211] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1439), 1,
      sym_heredoc_body,
    ACTIONS(1718), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1716), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34264] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1440), 1,
      sym_heredoc_body,
    ACTIONS(1433), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1431), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34317] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1441), 1,
      sym_heredoc_body,
    ACTIONS(1922), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1920), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34372] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1442), 1,
      sym_heredoc_body,
    ACTIONS(1914), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1912), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34427] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1443), 1,
      sym_heredoc_body,
    ACTIONS(1636), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1634), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34480] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1444), 1,
      sym_heredoc_body,
    ACTIONS(1842), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1840), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34535] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1445), 1,
      sym_heredoc_body,
    ACTIONS(1834), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1832), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34590] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1446), 1,
      sym_heredoc_body,
    ACTIONS(1830), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1828), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34645] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1447), 1,
      sym_heredoc_body,
    ACTIONS(1818), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1816), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34700] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1448), 1,
      sym_heredoc_body,
    ACTIONS(1810), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1808), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34755] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1449), 1,
      sym_heredoc_body,
    ACTIONS(1794), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1792), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34810] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1450), 1,
      sym_heredoc_body,
    ACTIONS(1786), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1784), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34865] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1451), 1,
      sym_heredoc_body,
    ACTIONS(1762), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1760), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34920] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1452), 1,
      sym_heredoc_body,
    ACTIONS(1730), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1728), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [34975] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1453), 1,
      sym_heredoc_body,
    ACTIONS(1718), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1716), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35030] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1454), 1,
      sym_heredoc_body,
    ACTIONS(1814), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1812), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35083] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1455), 1,
      sym_heredoc_body,
    ACTIONS(1822), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1820), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35136] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1456), 1,
      sym_heredoc_body,
    ACTIONS(1417), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35191] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1457), 1,
      sym_heredoc_body,
    ACTIONS(1826), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1824), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35244] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1458), 1,
      sym_heredoc_body,
    ACTIONS(1918), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1916), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35297] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1459), 1,
      sym_heredoc_body,
    ACTIONS(1942), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1940), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35350] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1460), 1,
      sym_heredoc_body,
    ACTIONS(1954), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1952), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35403] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1461), 1,
      sym_heredoc_body,
    ACTIONS(1391), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35458] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1462), 1,
      sym_heredoc_body,
    ACTIONS(1646), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1644), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35513] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1463), 1,
      sym_heredoc_body,
    ACTIONS(1624), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35566] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1464), 1,
      sym_heredoc_body,
    ACTIONS(1636), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1634), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35621] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1465), 1,
      sym_heredoc_body,
    ACTIONS(1814), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1812), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35676] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1466), 1,
      sym_heredoc_body,
    ACTIONS(1822), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1820), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35731] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1467), 1,
      sym_heredoc_body,
    ACTIONS(1826), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1824), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35786] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1468), 1,
      sym_heredoc_body,
    ACTIONS(1886), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1884), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35841] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1469), 1,
      sym_heredoc_body,
    ACTIONS(1918), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1916), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35896] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1470), 1,
      sym_heredoc_body,
    ACTIONS(1858), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1856), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [35951] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1471), 1,
      sym_heredoc_body,
    ACTIONS(1421), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36004] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1472), 1,
      sym_heredoc_body,
    ACTIONS(1942), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1940), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36059] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1473), 1,
      sym_heredoc_body,
    ACTIONS(1954), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1952), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36114] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1474), 1,
      sym_heredoc_body,
    ACTIONS(1946), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1944), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36167] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1475), 1,
      sym_heredoc_body,
    ACTIONS(1870), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1868), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36220] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1476), 1,
      sym_heredoc_body,
    ACTIONS(1890), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1888), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36273] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1477), 1,
      sym_heredoc_body,
    ACTIONS(1862), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1860), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36326] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1478), 1,
      sym_heredoc_body,
    ACTIONS(1425), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1423), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36379] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1479), 1,
      sym_heredoc_body,
    ACTIONS(1842), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1840), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36432] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1480), 1,
      sym_heredoc_body,
    ACTIONS(1421), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1419), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36487] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1481), 1,
      sym_heredoc_body,
    ACTIONS(1946), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1944), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36542] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1482), 1,
      sym_heredoc_body,
    ACTIONS(1870), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1868), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36597] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1483), 1,
      sym_heredoc_body,
    ACTIONS(1746), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1744), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36650] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1484), 1,
      sym_heredoc_body,
    ACTIONS(1429), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36703] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1485), 1,
      sym_heredoc_body,
    ACTIONS(1890), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1888), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36758] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1486), 1,
      sym_heredoc_body,
    ACTIONS(1453), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1451), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36813] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1487), 1,
      sym_heredoc_body,
    ACTIONS(1654), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1652), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36866] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1488), 1,
      sym_heredoc_body,
    ACTIONS(1862), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1860), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36921] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1489), 1,
      sym_heredoc_body,
    ACTIONS(1399), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [36974] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1490), 1,
      sym_heredoc_body,
    ACTIONS(1407), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37027] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1491), 1,
      sym_heredoc_body,
    ACTIONS(1770), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1768), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37082] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1492), 1,
      sym_heredoc_body,
    ACTIONS(1750), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1748), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37137] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1493), 1,
      sym_heredoc_body,
    ACTIONS(1746), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1744), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37192] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1494), 1,
      sym_heredoc_body,
    ACTIONS(1838), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1836), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37247] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1495), 1,
      sym_heredoc_body,
    ACTIONS(1742), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1740), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37302] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1496), 1,
      sym_heredoc_body,
    ACTIONS(1640), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1638), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37357] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1497), 1,
      sym_heredoc_body,
    ACTIONS(1742), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1740), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37410] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1498), 1,
      sym_heredoc_body,
    ACTIONS(1640), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1638), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37463] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1499), 1,
      sym_heredoc_body,
    ACTIONS(1624), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37518] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1500), 1,
      sym_heredoc_body,
    ACTIONS(1738), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1736), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37571] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1501), 1,
      sym_heredoc_body,
    ACTIONS(1666), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1664), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37624] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1502), 1,
      sym_heredoc_body,
    ACTIONS(1674), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1672), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37677] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1503), 1,
      sym_heredoc_body,
    ACTIONS(1642), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1415), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37732] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1504), 1,
      sym_heredoc_body,
    ACTIONS(1738), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1736), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37787] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1505), 1,
      sym_heredoc_body,
    ACTIONS(1666), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1664), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37842] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1506), 1,
      sym_heredoc_body,
    ACTIONS(1674), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1672), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37897] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1507), 1,
      sym_heredoc_body,
    ACTIONS(1678), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1676), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [37950] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1508), 1,
      sym_heredoc_body,
    ACTIONS(1706), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1704), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38003] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1509), 1,
      sym_heredoc_body,
    ACTIONS(1678), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1676), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38058] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1510), 1,
      sym_heredoc_body,
    ACTIONS(1710), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1708), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38113] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1511), 1,
      sym_heredoc_body,
    ACTIONS(1950), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1948), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38166] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1512), 1,
      sym_heredoc_body,
    ACTIONS(1950), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1948), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38221] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1513), 1,
      sym_heredoc_body,
    ACTIONS(1774), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1772), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38274] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1514), 1,
      sym_heredoc_body,
    ACTIONS(1774), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1772), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38329] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1515), 1,
      sym_heredoc_body,
    ACTIONS(1910), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1908), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38384] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1516), 1,
      sym_heredoc_body,
    ACTIONS(1910), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1908), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38437] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1517), 1,
      sym_heredoc_body,
    ACTIONS(779), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(781), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38492] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1518), 1,
      sym_heredoc_body,
    ACTIONS(1682), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1680), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38547] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1519), 1,
      sym_heredoc_body,
    ACTIONS(1850), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1848), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38600] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1520), 1,
      sym_heredoc_body,
    ACTIONS(1646), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1644), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38653] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1521), 1,
      sym_heredoc_body,
    ACTIONS(1882), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1880), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38706] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1522), 1,
      sym_heredoc_body,
    ACTIONS(1878), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1876), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38759] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1523), 1,
      sym_heredoc_body,
    ACTIONS(1874), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1872), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38812] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1524), 1,
      sym_heredoc_body,
    ACTIONS(1926), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1924), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38865] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1525), 1,
      sym_heredoc_body,
    ACTIONS(1854), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1852), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38918] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1526), 1,
      sym_heredoc_body,
    ACTIONS(1632), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1630), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [38971] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1527), 1,
      sym_heredoc_body,
    ACTIONS(1806), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1804), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39024] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1528), 1,
      sym_heredoc_body,
    ACTIONS(1682), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1680), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39077] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1529), 1,
      sym_heredoc_body,
    ACTIONS(1702), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1700), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39130] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1530), 1,
      sym_heredoc_body,
    ACTIONS(1642), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1415), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39183] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1531), 1,
      sym_heredoc_body,
    ACTIONS(1838), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1836), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39236] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1532), 1,
      sym_heredoc_body,
    ACTIONS(1858), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1856), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39289] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1533), 1,
      sym_heredoc_body,
    ACTIONS(1886), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1884), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39342] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1534), 1,
      sym_heredoc_body,
    ACTIONS(1902), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1900), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39395] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1535), 1,
      sym_heredoc_body,
    ACTIONS(775), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(777), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39450] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1536), 1,
      sym_heredoc_body,
    ACTIONS(1403), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1401), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39505] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1537), 1,
      sym_heredoc_body,
    ACTIONS(1806), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1804), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39560] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1538), 1,
      sym_heredoc_body,
    ACTIONS(1654), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1652), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39615] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1539), 1,
      sym_heredoc_body,
    ACTIONS(1632), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1630), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39670] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1540), 1,
      sym_heredoc_body,
    ACTIONS(1407), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1405), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39725] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1541), 1,
      sym_heredoc_body,
    ACTIONS(1854), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1852), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39780] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1542), 1,
      sym_heredoc_body,
    ACTIONS(1874), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1872), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39835] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1543), 1,
      sym_heredoc_body,
    ACTIONS(1878), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1876), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39890] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1544), 1,
      sym_heredoc_body,
    ACTIONS(1850), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1848), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39945] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1545), 1,
      sym_heredoc_body,
    ACTIONS(1818), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1816), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [39998] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1546), 1,
      sym_heredoc_body,
    ACTIONS(1710), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1708), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40051] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1547), 1,
      sym_heredoc_body,
    ACTIONS(1399), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1397), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40106] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2300), 1,
      anon_sym_LBRACK,
    ACTIONS(2306), 1,
      anon_sym_DOT,
    ACTIONS(2308), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2310), 1,
      anon_sym_AMP_DOT,
    STATE(1548), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40167] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1549), 1,
      sym_heredoc_body,
    ACTIONS(1702), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1700), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40222] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1550), 1,
      sym_heredoc_body,
    ACTIONS(1429), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1427), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40277] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1551), 1,
      sym_heredoc_body,
    ACTIONS(1441), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1439), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40332] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1552), 1,
      sym_heredoc_body,
    ACTIONS(1417), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1413), 34,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40385] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1553), 1,
      sym_heredoc_body,
    ACTIONS(1882), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1880), 32,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40440] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1101), 1,
      sym__method_rest,
    STATE(1554), 1,
      sym_heredoc_body,
    STATE(2129), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [40508] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1453), 1,
      sym__method_rest,
    STATE(1555), 1,
      sym_heredoc_body,
    STATE(2126), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [40576] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(881), 1,
      sym__string_start,
    ACTIONS(2252), 1,
      anon_sym_COLON,
    STATE(1354), 1,
      aux_sym_chained_string_repeat1,
    STATE(1364), 1,
      sym_string,
    STATE(1556), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_RBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40638] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1425), 1,
      sym__method_rest,
    STATE(1557), 1,
      sym_heredoc_body,
    STATE(2126), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [40706] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2316), 1,
      anon_sym_DOT,
    ACTIONS(2318), 1,
      anon_sym_LBRACK,
    ACTIONS(2320), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2322), 1,
      anon_sym_AMP_DOT,
    STATE(1558), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40766] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2324), 1,
      anon_sym_DOT,
    ACTIONS(2326), 1,
      anon_sym_LBRACK,
    ACTIONS(2328), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2330), 1,
      anon_sym_AMP_DOT,
    STATE(1559), 1,
      sym_heredoc_body,
    ACTIONS(1932), 8,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [40828] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1560), 1,
      sym_heredoc_body,
    STATE(2127), 1,
      sym__method_name,
    STATE(2647), 1,
      sym__method_rest,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [40896] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1561), 1,
      sym_heredoc_body,
    STATE(2127), 1,
      sym__method_name,
    STATE(2653), 1,
      sym__method_rest,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [40964] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1100), 1,
      sym__method_rest,
    STATE(1562), 1,
      sym_heredoc_body,
    STATE(2129), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41032] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2332), 1,
      sym_identifier,
    STATE(1563), 1,
      sym_heredoc_body,
    STATE(2107), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41097] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1399), 1,
      sym__method_rest,
    STATE(1564), 1,
      sym_heredoc_body,
    STATE(2135), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41162] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    STATE(1565), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 12,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [41245] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2312), 1,
      sym_identifier,
    STATE(1439), 1,
      sym__method_rest,
    STATE(1566), 1,
      sym_heredoc_body,
    STATE(2135), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41310] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2334), 1,
      sym_identifier,
    ACTIONS(2342), 1,
      sym__simple_symbol,
    ACTIONS(2344), 1,
      sym__symbol_start,
    STATE(1567), 1,
      sym_heredoc_body,
    STATE(2179), 1,
      sym__method_name,
    STATE(2204), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2340), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2338), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2336), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41375] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2164), 1,
      anon_sym_COMMA,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    STATE(1568), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [41460] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2332), 1,
      sym_identifier,
    STATE(1569), 1,
      sym_heredoc_body,
    STATE(2104), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41525] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2164), 1,
      anon_sym_COMMA,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    STATE(1570), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 30,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [41582] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2346), 1,
      sym_identifier,
    ACTIONS(2354), 1,
      sym__simple_symbol,
    ACTIONS(2356), 1,
      sym__symbol_start,
    STATE(1571), 1,
      sym_heredoc_body,
    STATE(1572), 1,
      sym__method_name,
    STATE(1668), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2352), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2350), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2348), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41647] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2334), 1,
      sym_identifier,
    ACTIONS(2342), 1,
      sym__simple_symbol,
    ACTIONS(2344), 1,
      sym__symbol_start,
    STATE(1572), 1,
      sym_heredoc_body,
    STATE(2107), 1,
      sym__method_name,
    STATE(2204), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2340), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2338), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2336), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41712] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2334), 1,
      sym_identifier,
    ACTIONS(2342), 1,
      sym__simple_symbol,
    ACTIONS(2344), 1,
      sym__symbol_start,
    STATE(1573), 1,
      sym_heredoc_body,
    STATE(2104), 1,
      sym__method_name,
    STATE(2204), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2340), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2338), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2336), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41777] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2358), 1,
      anon_sym_r,
    STATE(1574), 1,
      sym_heredoc_body,
    ACTIONS(1391), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 30,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [41832] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2358), 1,
      anon_sym_r,
    STATE(1575), 1,
      sym_heredoc_body,
    ACTIONS(1624), 8,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1622), 30,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [41887] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2268), 1,
      sym__simple_symbol,
    ACTIONS(2270), 1,
      sym__symbol_start,
    ACTIONS(2332), 1,
      sym_identifier,
    STATE(1576), 1,
      sym_heredoc_body,
    STATE(2124), 1,
      sym__method_name,
    STATE(2093), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2314), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2262), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2260), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [41952] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2346), 1,
      sym_identifier,
    ACTIONS(2354), 1,
      sym__simple_symbol,
    ACTIONS(2356), 1,
      sym__symbol_start,
    STATE(1563), 1,
      sym__method_name,
    STATE(1577), 1,
      sym_heredoc_body,
    STATE(1668), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2352), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2350), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2348), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [42017] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2164), 1,
      anon_sym_COMMA,
    STATE(1254), 1,
      aux_sym_exceptions_repeat1,
    STATE(1578), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [42102] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1579), 1,
      sym_heredoc_body,
    STATE(1587), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [42182] = 5,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1580), 1,
      sym_heredoc_body,
    STATE(1587), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42234] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2390), 1,
      anon_sym_COMMA,
    STATE(1581), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42286] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2318), 1,
      anon_sym_LBRACK,
    ACTIONS(2393), 1,
      anon_sym_DOT,
    ACTIONS(2395), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2397), 1,
      anon_sym_AMP_DOT,
    STATE(1582), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42344] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2399), 1,
      sym_identifier,
    ACTIONS(2407), 1,
      sym__simple_symbol,
    ACTIONS(2409), 1,
      sym__symbol_start,
    STATE(1583), 1,
      sym_heredoc_body,
    ACTIONS(2405), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    STATE(2495), 4,
      sym_operator,
      sym__method_name,
      sym_setter,
      sym_symbol,
    ACTIONS(2403), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2401), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [42404] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2399), 1,
      sym_identifier,
    ACTIONS(2407), 1,
      sym__simple_symbol,
    ACTIONS(2409), 1,
      sym__symbol_start,
    STATE(1584), 1,
      sym_heredoc_body,
    ACTIONS(2411), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    STATE(2330), 4,
      sym_operator,
      sym__method_name,
      sym_setter,
      sym_symbol,
    ACTIONS(2403), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2401), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [42464] = 10,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2346), 1,
      sym_identifier,
    ACTIONS(2354), 1,
      sym__simple_symbol,
    ACTIONS(2356), 1,
      sym__symbol_start,
    STATE(1583), 1,
      sym__method_name,
    STATE(1585), 1,
      sym_heredoc_body,
    STATE(1668), 3,
      sym_operator,
      sym_setter,
      sym_symbol,
    ACTIONS(2352), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    ACTIONS(2350), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2348), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [42526] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2399), 1,
      sym_identifier,
    ACTIONS(2407), 1,
      sym__simple_symbol,
    ACTIONS(2409), 1,
      sym__symbol_start,
    STATE(1586), 1,
      sym_heredoc_body,
    ACTIONS(2413), 4,
      sym_constant,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
    STATE(2381), 4,
      sym_operator,
      sym__method_name,
      sym_setter,
      sym_symbol,
    ACTIONS(2403), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2401), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [42586] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2415), 1,
      anon_sym_COMMA,
    STATE(1581), 1,
      aux_sym_exceptions_repeat1,
    STATE(1587), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42640] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2134), 1,
      anon_sym_PIPE,
    ACTIONS(2136), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2138), 1,
      anon_sym_AMP,
    ACTIONS(2142), 1,
      anon_sym_QMARK,
    ACTIONS(2144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2146), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2152), 1,
      anon_sym_GT_EQ,
    ACTIONS(2154), 1,
      anon_sym_CARET,
    ACTIONS(2160), 1,
      anon_sym_EQ_EQ,
    STATE(1588), 1,
      sym_heredoc_body,
    ACTIONS(2148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2150), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2156), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2140), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2158), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2162), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 12,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [42720] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    STATE(1589), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42785] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1105), 1,
      sym__string_start,
    STATE(1364), 1,
      sym_string,
    STATE(1590), 1,
      sym_heredoc_body,
    STATE(1627), 1,
      aux_sym_chained_string_repeat1,
    ACTIONS(1584), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1582), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42842] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    STATE(1591), 1,
      sym_heredoc_body,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [42905] = 17,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1592), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 13,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [42980] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1593), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [43057] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1594), 1,
      sym_heredoc_body,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [43106] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1595), 1,
      sym_heredoc_body,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 27,
      sym__binary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [43159] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1596), 1,
      sym_heredoc_body,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 16,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [43230] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1597), 1,
      sym_heredoc_body,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [43285] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1598), 1,
      sym_heredoc_body,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 16,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [43356] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1599), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [43433] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1600), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [43510] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1601), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [43589] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1602), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [43668] = 5,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1603), 1,
      sym_heredoc_body,
    STATE(1621), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [43719] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1604), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [43792] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1605), 1,
      sym_heredoc_body,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [43849] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1606), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [43922] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1607), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [44001] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1608), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 12,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [44078] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1609), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44137] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1610), 1,
      sym_heredoc_body,
    STATE(1621), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [44216] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1611), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 29,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44269] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    STATE(1612), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44330] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1613), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 29,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44383] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1614), 1,
      sym_heredoc_body,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 26,
      sym__line_break,
      sym__binary_minus,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44438] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1615), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [44515] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1616), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [44592] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1617), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44643] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1618), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44694] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1619), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [44771] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1105), 1,
      sym__string_start,
    STATE(1364), 1,
      sym_string,
    STATE(1590), 1,
      aux_sym_chained_string_repeat1,
    STATE(1620), 1,
      sym_heredoc_body,
    ACTIONS(1391), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1389), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44828] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2477), 1,
      anon_sym_COMMA,
    STATE(1621), 1,
      sym_heredoc_body,
    STATE(1636), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44881] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1622), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [44932] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    STATE(1623), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [45009] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    STATE(1624), 1,
      sym_heredoc_body,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45068] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1625), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45117] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2360), 1,
      anon_sym_PIPE,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2364), 1,
      anon_sym_AMP,
    ACTIONS(2368), 1,
      anon_sym_QMARK,
    ACTIONS(2370), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2372), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2378), 1,
      anon_sym_GT_EQ,
    ACTIONS(2380), 1,
      anon_sym_CARET,
    ACTIONS(2386), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2479), 1,
      anon_sym_EQ_GT,
    STATE(1626), 1,
      sym_heredoc_body,
    ACTIONS(2374), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2366), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2388), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2120), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [45196] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2481), 1,
      sym__string_start,
    STATE(1364), 1,
      sym_string,
    STATE(1627), 2,
      sym_heredoc_body,
      aux_sym_chained_string_repeat1,
    ACTIONS(1577), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1575), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45251] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1628), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [45330] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1629), 1,
      sym_heredoc_body,
    ACTIONS(2376), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2382), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2384), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45387] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1630), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45438] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2362), 1,
      anon_sym_STAR_STAR,
    STATE(1631), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45489] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1632), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45540] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2484), 1,
      anon_sym_EQ_GT,
    STATE(1633), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2254), 10,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [45621] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1634), 1,
      sym_heredoc_body,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 30,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45672] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    STATE(1635), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 29,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45725] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2486), 1,
      anon_sym_COMMA,
    STATE(1636), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45776] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1637), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [45855] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1638), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 31,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [45904] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2417), 1,
      anon_sym_PIPE,
    ACTIONS(2419), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2421), 1,
      anon_sym_AMP,
    ACTIONS(2425), 1,
      anon_sym_CARET,
    ACTIONS(2433), 1,
      anon_sym_QMARK,
    ACTIONS(2435), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2437), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2441), 1,
      anon_sym_GT_EQ,
    ACTIONS(2443), 1,
      anon_sym_EQ_EQ,
    STATE(1639), 1,
      sym_heredoc_body,
    ACTIONS(2423), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2427), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2439), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2429), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2431), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2445), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 11,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [45983] = 5,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1640), 1,
      sym_heredoc_body,
    STATE(1648), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [46033] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1641), 1,
      sym_heredoc_body,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 15,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [46103] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1642), 1,
      sym_heredoc_body,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [46157] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1643), 1,
      sym_heredoc_body,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 15,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [46227] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1644), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46303] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1645), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46379] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1646), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46455] = 17,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1647), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 12,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [46529] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2489), 1,
      anon_sym_COMMA,
    STATE(1648), 1,
      sym_heredoc_body,
    STATE(1666), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [46581] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2491), 1,
      anon_sym_DOT,
    ACTIONS(2493), 1,
      anon_sym_LBRACK,
    ACTIONS(2495), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(2497), 1,
      anon_sym_AMP_DOT,
    STATE(1649), 1,
      sym_heredoc_body,
    ACTIONS(1932), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1928), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [46639] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    STATE(1650), 1,
      sym_heredoc_body,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [46701] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1651), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2175), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46777] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1652), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2166), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46853] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1653), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2170), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [46929] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1654), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2168), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [47005] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1655), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [47081] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1656), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [47157] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1657), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47207] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1658), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [47283] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1659), 1,
      sym_heredoc_body,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 26,
      sym__binary_minus,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47335] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1660), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47385] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2447), 1,
      anon_sym_PIPE,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    ACTIONS(2455), 1,
      anon_sym_QMARK,
    ACTIONS(2457), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2459), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2465), 1,
      anon_sym_GT_EQ,
    ACTIONS(2467), 1,
      anon_sym_CARET,
    ACTIONS(2473), 1,
      anon_sym_EQ_EQ,
    STATE(1661), 1,
      sym_heredoc_body,
    ACTIONS(2461), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2453), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2475), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [47461] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2451), 1,
      anon_sym_AMP,
    STATE(1662), 1,
      sym_heredoc_body,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47519] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2503), 1,
      anon_sym_EQ,
    STATE(1663), 1,
      sym_heredoc_body,
    ACTIONS(2501), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2499), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [47571] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1664), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 29,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47621] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1648), 1,
      aux_sym_exceptions_repeat1,
    STATE(1665), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [47699] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2535), 1,
      anon_sym_COMMA,
    STATE(1666), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47749] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2449), 1,
      anon_sym_STAR_STAR,
    STATE(1667), 1,
      sym_heredoc_body,
    ACTIONS(2463), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2469), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2471), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47805] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1668), 1,
      sym_heredoc_body,
    ACTIONS(2501), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2499), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [47854] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1669), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [47929] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1670), 1,
      sym_heredoc_body,
    ACTIONS(1600), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1598), 26,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [47978] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1671), 1,
      sym_heredoc_body,
    ACTIONS(1592), 9,
      anon_sym_DOT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_COLON2,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(1590), 26,
      sym__string_start,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48027] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2538), 1,
      anon_sym_COMMA,
    STATE(1672), 1,
      sym_heredoc_body,
    STATE(1702), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48078] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1673), 1,
      sym_heredoc_body,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      sym__binary_minus,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48129] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1674), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [48206] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2538), 1,
      anon_sym_COMMA,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1675), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48257] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1676), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48306] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    STATE(1677), 1,
      sym_heredoc_body,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48363] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1678), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48412] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1679), 1,
      sym_heredoc_body,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48467] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    STATE(1680), 1,
      sym_heredoc_body,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [48528] = 17,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1681), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 11,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [48601] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1682), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [48676] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1683), 1,
      sym_heredoc_body,
    ACTIONS(1646), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(1644), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [48725] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1684), 1,
      sym_heredoc_body,
    ACTIONS(1926), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(1924), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [48774] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1685), 1,
      sym_heredoc_body,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 14,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [48843] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1686), 1,
      sym_heredoc_body,
    ACTIONS(791), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(793), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [48892] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1687), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [48967] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1688), 1,
      sym_heredoc_body,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [49020] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1689), 1,
      sym_heredoc_body,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 14,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [49089] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    STATE(1690), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [49138] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1691), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [49213] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1692), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [49288] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2570), 1,
      anon_sym_EQ_GT,
    STATE(1693), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2120), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [49365] = 20,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2538), 1,
      anon_sym_COMMA,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1694), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [49444] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1695), 1,
      sym_heredoc_body,
    ACTIONS(1710), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(1708), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [49493] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1696), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [49568] = 20,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2538), 1,
      anon_sym_COMMA,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1697), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [49647] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1698), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [49724] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1699), 1,
      sym_heredoc_body,
    ACTIONS(2574), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2572), 26,
      sym__simple_symbol,
      sym__symbol_start,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
      sym_constant,
      sym_identifier,
      sym_instance_variable,
      sym_class_variable,
      sym_global_variable,
  [49773] = 5,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1672), 1,
      aux_sym_exceptions_repeat1,
    STATE(1700), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 28,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [49822] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2505), 1,
      anon_sym_PIPE,
    ACTIONS(2507), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2509), 1,
      anon_sym_AMP,
    ACTIONS(2513), 1,
      anon_sym_QMARK,
    ACTIONS(2515), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2517), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2523), 1,
      anon_sym_GT_EQ,
    ACTIONS(2525), 1,
      anon_sym_CARET,
    ACTIONS(2531), 1,
      anon_sym_EQ_EQ,
    STATE(1701), 1,
      sym_heredoc_body,
    ACTIONS(2519), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2521), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2527), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2511), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2529), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2533), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [49897] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2576), 1,
      anon_sym_COMMA,
    STATE(1702), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_STAR_STAR,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [49946] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1703), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2175), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50020] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1704), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50094] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2579), 1,
      anon_sym_COMMA,
    STATE(1705), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [50144] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1706), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2166), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50218] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1707), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50292] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1708), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50366] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1709), 1,
      sym_heredoc_body,
    STATE(1713), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 26,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [50416] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1710), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2168), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50490] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2582), 1,
      anon_sym_COMMA,
    STATE(1711), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [50540] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1712), 1,
      sym_heredoc_body,
    STATE(1713), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [50618] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2615), 1,
      anon_sym_COMMA,
    STATE(1711), 1,
      aux_sym_exceptions_repeat1,
    STATE(1713), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [50670] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1714), 1,
      sym_heredoc_body,
    STATE(1731), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [50748] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1715), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2170), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50822] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1716), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50896] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1717), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [50970] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1718), 1,
      sym_heredoc_body,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 13,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [51038] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1719), 1,
      sym_heredoc_body,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51090] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1720), 1,
      sym_heredoc_body,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 13,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [51158] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1721), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [51232] = 17,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1722), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 10,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [51304] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1723), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [51378] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    STATE(1724), 1,
      sym_heredoc_body,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51438] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1725), 1,
      sym_heredoc_body,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51492] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1726), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51540] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    STATE(1727), 1,
      sym_heredoc_body,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51596] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1728), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51644] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1729), 1,
      sym_heredoc_body,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__binary_minus,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51694] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    STATE(1730), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 27,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51742] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2647), 1,
      anon_sym_COMMA,
    STATE(1705), 1,
      aux_sym_exceptions_repeat1,
    STATE(1731), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51794] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1731), 1,
      aux_sym_exceptions_repeat1,
    STATE(1732), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 26,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [51844] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2540), 1,
      anon_sym_PIPE,
    ACTIONS(2542), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2544), 1,
      anon_sym_AMP,
    ACTIONS(2548), 1,
      anon_sym_QMARK,
    ACTIONS(2550), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2552), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2558), 1,
      anon_sym_GT_EQ,
    ACTIONS(2560), 1,
      anon_sym_CARET,
    ACTIONS(2566), 1,
      anon_sym_EQ_EQ,
    STATE(1733), 1,
      sym_heredoc_body,
    ACTIONS(2554), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2556), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2562), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2546), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2564), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2568), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 9,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [51918] = 22,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2649), 1,
      anon_sym_COMMA,
    STATE(1734), 1,
      sym_heredoc_body,
    STATE(2433), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2653), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2651), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52000] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2655), 1,
      anon_sym_COMMA,
    STATE(1735), 1,
      sym_heredoc_body,
    STATE(1777), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52051] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1736), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [52124] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1737), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [52199] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1738), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 8,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [52272] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    STATE(1739), 1,
      sym_heredoc_body,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52333] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1740), 1,
      sym_heredoc_body,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52388] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2687), 1,
      anon_sym_COMMA,
    STATE(1741), 1,
      sym_heredoc_body,
    STATE(1781), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52439] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1742), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52488] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1743), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [52561] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    STATE(1744), 1,
      sym_heredoc_body,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52618] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1745), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52667] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1746), 1,
      sym_heredoc_body,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__binary_minus,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [52718] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2695), 1,
      anon_sym_LPAREN2,
    STATE(1747), 1,
      sym_heredoc_body,
    ACTIONS(2689), 2,
      sym_constant,
      sym_identifier,
    STATE(215), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2693), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2691), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [52771] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1748), 1,
      sym_heredoc_body,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [52840] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(125), 1,
      anon_sym_LPAREN2,
    STATE(1749), 1,
      sym_heredoc_body,
    ACTIONS(2697), 2,
      sym_constant,
      sym_identifier,
    STATE(886), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2701), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2699), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [52893] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1750), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [52966] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2709), 1,
      anon_sym_LPAREN2,
    STATE(1751), 1,
      sym_heredoc_body,
    ACTIONS(2703), 2,
      sym_constant,
      sym_identifier,
    STATE(300), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2707), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2705), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [53019] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1752), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [53094] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1753), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [53169] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1754), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [53242] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1755), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [53315] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1756), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [53390] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1757), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [53439] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2713), 1,
      anon_sym_LPAREN2,
    STATE(1758), 1,
      sym_heredoc_body,
    ACTIONS(2711), 2,
      sym_constant,
      sym_identifier,
    STATE(2190), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2338), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2336), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [53492] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2721), 1,
      anon_sym_LPAREN2,
    STATE(1759), 1,
      sym_heredoc_body,
    ACTIONS(2715), 2,
      sym_constant,
      sym_identifier,
    STATE(313), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2719), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2717), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [53545] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(1760), 1,
      sym_heredoc_body,
    ACTIONS(2723), 2,
      sym_constant,
      sym_identifier,
    STATE(2167), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2727), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2725), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [53598] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1761), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2254), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [53671] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1762), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [53746] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2731), 1,
      anon_sym_COMMA,
    STATE(1763), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [53795] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1764), 1,
      sym_heredoc_body,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__line_break,
      sym__binary_minus,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [53846] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2742), 1,
      anon_sym_do,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(185), 1,
      sym__terminator,
    STATE(1139), 1,
      sym_do,
    STATE(1765), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [53929] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1766), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2653), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2108), 5,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54006] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2742), 1,
      anon_sym_do,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(185), 1,
      sym__terminator,
    STATE(1116), 1,
      sym_do,
    STATE(1767), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54089] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1768), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 26,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54136] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1769), 1,
      sym_heredoc_body,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54189] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2768), 1,
      anon_sym_do,
    STATE(188), 1,
      sym__terminator,
    STATE(1770), 1,
      sym_heredoc_body,
    STATE(2555), 1,
      sym_do,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54272] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1771), 1,
      sym_heredoc_body,
    STATE(1818), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54321] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1772), 1,
      sym_heredoc_body,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [54390] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2768), 1,
      anon_sym_do,
    STATE(188), 1,
      sym__terminator,
    STATE(1773), 1,
      sym_heredoc_body,
    STATE(2556), 1,
      sym_do,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54473] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2687), 1,
      anon_sym_COMMA,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1741), 1,
      aux_sym_exceptions_repeat1,
    STATE(1774), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2002), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54552] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1741), 1,
      aux_sym_exceptions_repeat1,
    STATE(1775), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [54629] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1776), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54678] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2800), 1,
      anon_sym_COMMA,
    STATE(1777), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54727] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1778), 1,
      sym_heredoc_body,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [54796] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1779), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [54871] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1541), 1,
      anon_sym_LPAREN2,
    STATE(1780), 1,
      sym_heredoc_body,
    ACTIONS(2803), 2,
      sym_constant,
      sym_identifier,
    STATE(1021), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2807), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2805), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [54924] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2809), 1,
      anon_sym_COMMA,
    STATE(1781), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [54973] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    STATE(1782), 1,
      sym_heredoc_body,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55030] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1783), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55079] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1784), 1,
      sym_heredoc_body,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55134] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    STATE(1785), 1,
      sym_heredoc_body,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55195] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1786), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [55270] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1787), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [55345] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1788), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [55420] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    STATE(1789), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 25,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55469] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1790), 1,
      sym_heredoc_body,
    STATE(1818), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [55546] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1573), 1,
      anon_sym_LPAREN2,
    STATE(1791), 1,
      sym_heredoc_body,
    ACTIONS(2842), 2,
      sym_constant,
      sym_identifier,
    STATE(1117), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2846), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2844), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [55599] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1792), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [55674] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1793), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 8,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [55747] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(159), 1,
      anon_sym_LPAREN2,
    STATE(1794), 1,
      sym_heredoc_body,
    ACTIONS(2848), 2,
      sym_constant,
      sym_identifier,
    STATE(888), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2852), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2850), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [55800] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1735), 1,
      aux_sym_exceptions_repeat1,
    STATE(1795), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2002), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [55877] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1796), 1,
      sym_heredoc_body,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 12,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [55944] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1797), 1,
      sym_heredoc_body,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [55995] = 15,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1798), 1,
      sym_heredoc_body,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 12,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [56062] = 18,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2665), 1,
      anon_sym_QMARK,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1799), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [56135] = 17,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2667), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2669), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2675), 1,
      anon_sym_GT_EQ,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    ACTIONS(2683), 1,
      anon_sym_EQ_EQ,
    STATE(1800), 1,
      sym_heredoc_body,
    ACTIONS(2671), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2663), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2685), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 9,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [56206] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2884), 1,
      anon_sym_do,
    STATE(178), 1,
      sym__terminator,
    STATE(1491), 1,
      sym_do,
    STATE(1801), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56289] = 23,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2884), 1,
      anon_sym_do,
    STATE(178), 1,
      sym__terminator,
    STATE(1444), 1,
      sym_do,
    STATE(1802), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56372] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2657), 1,
      anon_sym_PIPE,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    ACTIONS(2677), 1,
      anon_sym_CARET,
    STATE(1803), 1,
      sym_heredoc_body,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56431] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1804), 1,
      sym_heredoc_body,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56484] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1805), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 26,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56531] = 9,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2661), 1,
      anon_sym_AMP,
    STATE(1806), 1,
      sym_heredoc_body,
    ACTIONS(2673), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2679), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56586] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1807), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 26,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56633] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2687), 1,
      anon_sym_COMMA,
    STATE(1741), 1,
      aux_sym_exceptions_repeat1,
    STATE(1808), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56684] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2659), 1,
      anon_sym_STAR_STAR,
    STATE(1809), 1,
      sym_heredoc_body,
    ACTIONS(2681), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      sym__binary_minus,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [56733] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1810), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [56808] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1811), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [56883] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1812), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [56958] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1813), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2653), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2044), 5,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57035] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1814), 1,
      sym_heredoc_body,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 11,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [57104] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2585), 1,
      anon_sym_PIPE,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2589), 1,
      anon_sym_AMP,
    ACTIONS(2593), 1,
      anon_sym_QMARK,
    ACTIONS(2595), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2597), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2603), 1,
      anon_sym_GT_EQ,
    ACTIONS(2605), 1,
      anon_sym_CARET,
    ACTIONS(2611), 1,
      anon_sym_EQ_EQ,
    STATE(1815), 1,
      sym_heredoc_body,
    ACTIONS(2599), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2601), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2591), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2613), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
  [57179] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1741), 1,
      aux_sym_exceptions_repeat1,
    STATE(1816), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57228] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1735), 1,
      aux_sym_exceptions_repeat1,
    STATE(1817), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 25,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57277] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2886), 1,
      anon_sym_COMMA,
    STATE(1763), 1,
      aux_sym_exceptions_repeat1,
    STATE(1818), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57328] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2587), 1,
      anon_sym_STAR_STAR,
    STATE(1819), 1,
      sym_heredoc_body,
    ACTIONS(2607), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2609), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57381] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2894), 1,
      anon_sym_LPAREN2,
    STATE(1820), 1,
      sym_heredoc_body,
    ACTIONS(2888), 2,
      sym_constant,
      sym_identifier,
    STATE(229), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2892), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2890), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [57434] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1821), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [57506] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1822), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2898), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2896), 4,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57582] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1823), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2175), 4,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57658] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1824), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57706] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2902), 1,
      anon_sym_COMMA,
    STATE(1825), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [57754] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1826), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [57828] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2911), 1,
      anon_sym_LPAREN2,
    STATE(1827), 1,
      sym_heredoc_body,
    ACTIONS(2905), 2,
      sym_constant,
      sym_identifier,
    STATE(370), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2909), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2907), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [57878] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1828), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [57952] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1829), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58000] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1830), 1,
      sym_heredoc_body,
    STATE(1860), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2002), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58076] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1831), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [58150] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1832), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [58224] = 22,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2943), 1,
      anon_sym_do,
    STATE(193), 1,
      sym__terminator,
    STATE(1479), 1,
      sym_do,
    STATE(1833), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58304] = 22,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2943), 1,
      anon_sym_do,
    STATE(193), 1,
      sym__terminator,
    STATE(1371), 1,
      sym_do,
    STATE(1834), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58384] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2484), 1,
      anon_sym_EQ_GT,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1835), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2945), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2120), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58462] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1836), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58510] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1837), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [58584] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1838), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2057), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [58658] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2655), 1,
      anon_sym_COMMA,
    STATE(1735), 1,
      aux_sym_exceptions_repeat1,
    STATE(1839), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 23,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58708] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1840), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2898), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2108), 4,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [58784] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1841), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [58858] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1842), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [58932] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2655), 1,
      anon_sym_COMMA,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1735), 1,
      aux_sym_exceptions_repeat1,
    STATE(1843), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2002), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59010] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1844), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [59084] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1845), 1,
      sym_heredoc_body,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [59152] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1846), 1,
      sym_heredoc_body,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59204] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1847), 1,
      sym_heredoc_body,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [59272] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1848), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [59346] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1849), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 7,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [59418] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    STATE(1850), 1,
      sym_heredoc_body,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59478] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1851), 1,
      sym_heredoc_body,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59532] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1852), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59580] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    STATE(1853), 1,
      sym_heredoc_body,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59636] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1854), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59684] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    STATE(1855), 1,
      sym_heredoc_body,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [59734] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1856), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [59808] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2953), 1,
      anon_sym_LPAREN2,
    STATE(1857), 1,
      sym_heredoc_body,
    ACTIONS(2947), 2,
      sym_constant,
      sym_identifier,
    STATE(350), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2951), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2949), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [59858] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(257), 1,
      anon_sym_LPAREN2,
    STATE(1858), 1,
      sym_heredoc_body,
    ACTIONS(2955), 2,
      sym_constant,
      sym_identifier,
    STATE(993), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2959), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2957), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [59908] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1859), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [59982] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2961), 1,
      anon_sym_COMMA,
    STATE(1825), 1,
      aux_sym_exceptions_repeat1,
    STATE(1860), 1,
      sym_heredoc_body,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60032] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1861), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2044), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [60106] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1862), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [60180] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1863), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2118), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [60254] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    STATE(1864), 1,
      sym_heredoc_body,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60310] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(203), 1,
      anon_sym_LPAREN2,
    STATE(1865), 1,
      sym_heredoc_body,
    ACTIONS(2963), 2,
      sym_constant,
      sym_identifier,
    STATE(979), 2,
      sym_argument_list,
      sym_operator,
    ACTIONS(2967), 9,
      anon_sym_STAR,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG,
      anon_sym_DASH,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2965), 19,
      anon_sym_PIPE,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      anon_sym_DOT_DOT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
      anon_sym_TILDE,
      anon_sym_PLUS_AT,
      anon_sym_DASH_AT,
      anon_sym_LBRACK_RBRACK_EQ,
      anon_sym_BQUOTE,
  [60360] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1866), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2168), 4,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60436] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    STATE(1867), 1,
      sym_heredoc_body,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60496] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1868), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2116), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [60570] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    STATE(1869), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 6,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ_GT,
      anon_sym_RBRACK,
      anon_sym_and,
      anon_sym_or,
  [60644] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1860), 1,
      aux_sym_exceptions_repeat1,
    STATE(1870), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 24,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60692] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1871), 1,
      sym_heredoc_body,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [60760] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1872), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [60834] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1873), 1,
      sym_heredoc_body,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [60886] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1874), 1,
      sym_heredoc_body,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [60954] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2778), 1,
      anon_sym_QMARK,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1875), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [61028] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1876), 1,
      sym_heredoc_body,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [61096] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2780), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2782), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2788), 1,
      anon_sym_GT_EQ,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    ACTIONS(2796), 1,
      anon_sym_EQ_EQ,
    STATE(1877), 1,
      sym_heredoc_body,
    ACTIONS(2784), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2776), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2798), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 7,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [61168] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1878), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2170), 4,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61244] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1879), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2108), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [61318] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1880), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 6,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_and,
      anon_sym_or,
  [61392] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2770), 1,
      anon_sym_PIPE,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    ACTIONS(2790), 1,
      anon_sym_CARET,
    STATE(1881), 1,
      sym_heredoc_body,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61452] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1882), 1,
      sym_heredoc_body,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61506] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1883), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61554] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2774), 1,
      anon_sym_AMP,
    STATE(1884), 1,
      sym_heredoc_body,
    ACTIONS(2786), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2792), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61610] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1885), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61658] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2772), 1,
      anon_sym_STAR_STAR,
    STATE(1886), 1,
      sym_heredoc_body,
    ACTIONS(2794), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__line_break,
      sym__binary_minus,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61708] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1887), 1,
      sym_heredoc_body,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 10,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [61776] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1888), 1,
      sym_heredoc_body,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61828] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1889), 1,
      sym_heredoc_body,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__line_break,
      sym__binary_minus,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61878] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1890), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61926] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1891), 1,
      sym_heredoc_body,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [61980] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    STATE(1892), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 24,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62028] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2647), 1,
      anon_sym_COMMA,
    STATE(1731), 1,
      aux_sym_exceptions_repeat1,
    STATE(1893), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62077] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1894), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2118), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62150] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1895), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2044), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62223] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1896), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2108), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62296] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1897), 1,
      sym_heredoc_body,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      sym__line_break,
      sym__binary_minus,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62345] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1898), 1,
      sym_heredoc_body,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62398] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1899), 1,
      sym_heredoc_body,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62449] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1900), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 23,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62496] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1901), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2971), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2969), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62571] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(106), 1,
      sym__terminator,
    STATE(1902), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62648] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1903), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62721] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1904), 1,
      sym_heredoc_body,
    STATE(2275), 1,
      sym__terminator,
    ACTIONS(1111), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62798] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1905), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62871] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1906), 1,
      sym_heredoc_body,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [62924] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1907), 1,
      sym_heredoc_body,
    STATE(2269), 1,
      sym__terminator,
    ACTIONS(1111), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63001] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1908), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63048] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1909), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2166), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63123] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1910), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63170] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1911), 1,
      sym_heredoc_body,
    ACTIONS(2750), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3005), 3,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63245] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1912), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2108), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63320] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(88), 1,
      sym__terminator,
    STATE(1913), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63397] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1914), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63470] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2647), 1,
      anon_sym_COMMA,
    STATE(1731), 1,
      aux_sym_exceptions_repeat1,
    STATE(1915), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2002), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63547] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(1916), 1,
      sym_heredoc_body,
    STATE(1918), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63594] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    STATE(1917), 1,
      sym_heredoc_body,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63649] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3007), 1,
      anon_sym_COMMA,
    STATE(1918), 1,
      sym_heredoc_body,
    STATE(1932), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(2055), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2051), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63698] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3007), 1,
      anon_sym_COMMA,
    STATE(1918), 1,
      aux_sym_exceptions_repeat1,
    STATE(1919), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63747] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1920), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63794] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1921), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2898), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3009), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63869] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1922), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63942] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2886), 1,
      anon_sym_COMMA,
    STATE(1818), 1,
      aux_sym_exceptions_repeat1,
    STATE(1923), 1,
      sym_heredoc_body,
    ACTIONS(2004), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2002), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_STAR_STAR,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [63991] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1924), 1,
      sym_heredoc_body,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 9,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [64058] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1925), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2118), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64131] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1926), 1,
      sym_heredoc_body,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 20,
      sym__binary_minus,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64180] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1927), 1,
      sym_heredoc_body,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 9,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [64247] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1928), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2061), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64320] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2854), 1,
      anon_sym_PIPE,
    ACTIONS(2856), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2858), 1,
      anon_sym_AMP,
    ACTIONS(2862), 1,
      anon_sym_QMARK,
    ACTIONS(2864), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2866), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2872), 1,
      anon_sym_GT_EQ,
    ACTIONS(2874), 1,
      anon_sym_CARET,
    ACTIONS(2880), 1,
      anon_sym_EQ_EQ,
    STATE(1929), 1,
      sym_heredoc_body,
    ACTIONS(2868), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2870), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2876), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2898), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2860), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2878), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2969), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
    ACTIONS(2882), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64395] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1930), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2116), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64468] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1931), 1,
      sym_heredoc_body,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64519] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3011), 1,
      anon_sym_COMMA,
    STATE(1932), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2049), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2044), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_STAR_STAR,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64566] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2812), 1,
      anon_sym_PIPE,
    ACTIONS(2814), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2816), 1,
      anon_sym_AMP,
    ACTIONS(2820), 1,
      anon_sym_QMARK,
    ACTIONS(2822), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2824), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2830), 1,
      anon_sym_GT_EQ,
    ACTIONS(2832), 1,
      anon_sym_CARET,
    ACTIONS(2838), 1,
      anon_sym_EQ_EQ,
    ACTIONS(2886), 1,
      anon_sym_COMMA,
    STATE(1818), 1,
      aux_sym_exceptions_repeat1,
    STATE(1933), 1,
      sym_heredoc_body,
    ACTIONS(2826), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2828), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2834), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2002), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2818), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2836), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2840), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64643] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1934), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 6,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [64714] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3007), 1,
      anon_sym_COMMA,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1918), 1,
      aux_sym_exceptions_repeat1,
    STATE(1935), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2002), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64791] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    STATE(1936), 1,
      sym_heredoc_body,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64850] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1937), 1,
      sym_heredoc_body,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 9,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [64917] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1918), 1,
      aux_sym_exceptions_repeat1,
    STATE(1938), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2002), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [64992] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2744), 1,
      anon_sym_QMARK,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1939), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2061), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65065] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2746), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2748), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1940), 1,
      sym_heredoc_body,
    ACTIONS(2752), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2114), 6,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
  [65136] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    STATE(1941), 1,
      sym_heredoc_body,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65195] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2734), 1,
      anon_sym_PIPE,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    ACTIONS(2756), 1,
      anon_sym_GT_EQ,
    ACTIONS(2758), 1,
      anon_sym_CARET,
    ACTIONS(2764), 1,
      anon_sym_EQ_EQ,
    STATE(1942), 1,
      sym_heredoc_body,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2740), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2766), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 9,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [65262] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    STATE(1943), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 23,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65309] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1944), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2971), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3009), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65384] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1945), 1,
      sym_heredoc_body,
    STATE(2245), 1,
      sym__terminator,
    ACTIONS(1111), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65461] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2736), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2738), 1,
      anon_sym_AMP,
    STATE(1946), 1,
      sym_heredoc_body,
    ACTIONS(2754), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2760), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2762), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65516] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    STATE(1947), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 23,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65563] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2913), 1,
      anon_sym_PIPE,
    ACTIONS(2915), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2917), 1,
      anon_sym_AMP,
    ACTIONS(2921), 1,
      anon_sym_QMARK,
    ACTIONS(2923), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2925), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2931), 1,
      anon_sym_GT_EQ,
    ACTIONS(2933), 1,
      anon_sym_CARET,
    ACTIONS(2939), 1,
      anon_sym_EQ_EQ,
    STATE(1948), 1,
      sym_heredoc_body,
    ACTIONS(2927), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2929), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2935), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2919), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2937), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2116), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2941), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65636] = 21,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(81), 1,
      sym__terminator,
    STATE(1949), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65713] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1950), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65759] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1951), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65805] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1952), 1,
      sym_heredoc_body,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      sym__binary_minus,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65853] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    STATE(1953), 1,
      sym_heredoc_body,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65907] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1954), 1,
      sym_heredoc_body,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [65959] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    STATE(1955), 1,
      sym_heredoc_body,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66013] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1956), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66059] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1957), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66131] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1958), 1,
      sym_heredoc_body,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 19,
      sym__line_break,
      sym__binary_minus,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66179] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1959), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2969), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66253] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1960), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66299] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2617), 1,
      anon_sym_PIPE,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    STATE(1961), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3009), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66373] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1962), 1,
      sym_heredoc_body,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 15,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66425] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    STATE(1963), 1,
      sym_heredoc_body,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66483] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1964), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2114), 5,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66553] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1965), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2061), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66625] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1966), 1,
      sym_heredoc_body,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 8,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [66691] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1967), 1,
      sym_heredoc_body,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66741] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1968), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66813] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    STATE(1969), 1,
      sym_heredoc_body,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66871] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1970), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2116), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [66943] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1971), 1,
      sym_heredoc_body,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 8,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [67009] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3044), 1,
      anon_sym_PIPE,
    STATE(1972), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2969), 2,
      anon_sym_COMMA,
      anon_sym_SEMI,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67083] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1973), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2118), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67155] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1974), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2044), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67227] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1975), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2114), 5,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67297] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1976), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 22,
      sym__line_break,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67343] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1977), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2108), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67415] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1978), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2061), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67487] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1979), 1,
      sym_heredoc_body,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 8,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [67553] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    STATE(1980), 1,
      sym_heredoc_body,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 17,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67603] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2619), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2621), 1,
      anon_sym_AMP,
    ACTIONS(2625), 1,
      anon_sym_QMARK,
    ACTIONS(2627), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2629), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2635), 1,
      anon_sym_GT_EQ,
    ACTIONS(2637), 1,
      anon_sym_CARET,
    ACTIONS(2643), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3046), 1,
      anon_sym_PIPE,
    STATE(1981), 1,
      sym_heredoc_body,
    ACTIONS(2631), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2633), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2639), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2900), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3009), 2,
      anon_sym_COMMA,
      anon_sym_SEMI,
    ACTIONS(2623), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2641), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2645), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67677] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1982), 1,
      sym_heredoc_body,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 8,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [67743] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    STATE(1983), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 22,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_COMMA,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67789] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1984), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67861] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3014), 1,
      anon_sym_PIPE,
    ACTIONS(3016), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3018), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_QMARK,
    ACTIONS(3024), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3026), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3032), 1,
      anon_sym_GT_EQ,
    ACTIONS(3034), 1,
      anon_sym_CARET,
    ACTIONS(3040), 1,
      anon_sym_EQ_EQ,
    STATE(1985), 1,
      sym_heredoc_body,
    ACTIONS(3028), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3030), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3036), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3020), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3038), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2057), 4,
      anon_sym_COMMA,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3042), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [67933] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1986), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2116), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68005] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1987), 1,
      sym_heredoc_body,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3048), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68079] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1988), 1,
      sym_heredoc_body,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2118), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68151] = 20,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(122), 1,
      sym__terminator,
    STATE(1989), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68225] = 20,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2973), 1,
      anon_sym_PIPE,
    ACTIONS(2975), 1,
      anon_sym_STAR_STAR,
    ACTIONS(2977), 1,
      anon_sym_AMP,
    ACTIONS(2981), 1,
      anon_sym_QMARK,
    ACTIONS(2983), 1,
      anon_sym_DOT_DOT,
    ACTIONS(2985), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(2993), 1,
      anon_sym_GT_EQ,
    ACTIONS(2995), 1,
      anon_sym_CARET,
    ACTIONS(3001), 1,
      anon_sym_EQ_EQ,
    STATE(1990), 1,
      sym_heredoc_body,
    STATE(2328), 1,
      sym__terminator,
    ACTIONS(1111), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(2987), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(2989), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2991), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(2997), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2979), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(2999), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3003), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68299] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    STATE(1991), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [68364] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3082), 1,
      anon_sym_COLON2,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(1992), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68437] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3106), 1,
      anon_sym_RPAREN,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(1993), 1,
      sym_heredoc_body,
    ACTIONS(3122), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68510] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    STATE(1994), 1,
      sym_heredoc_body,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 13,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68567] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(1995), 1,
      sym_heredoc_body,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68618] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(1996), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68663] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(1997), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2118), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68734] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3140), 1,
      anon_sym_RPAREN,
    STATE(1998), 1,
      sym_heredoc_body,
    ACTIONS(3122), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68807] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(1999), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2057), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68878] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    STATE(2000), 1,
      sym_heredoc_body,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [68931] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3150), 1,
      anon_sym_COLON2,
    STATE(2001), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69004] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2002), 1,
      sym_heredoc_body,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [69069] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2003), 1,
      sym_heredoc_body,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69118] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2004), 1,
      sym_heredoc_body,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [69183] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2005), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2061), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69254] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2006), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2114), 4,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69323] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3152), 1,
      anon_sym_COLON2,
    STATE(2007), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69396] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2008), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2118), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69467] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    STATE(2009), 1,
      sym_heredoc_body,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 13,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69524] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2010), 1,
      sym_heredoc_body,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [69589] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2011), 1,
      sym_heredoc_body,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69640] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2012), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2116), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69711] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2013), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69756] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(2014), 1,
      sym_heredoc_body,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69805] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3154), 1,
      anon_sym_RPAREN,
    STATE(2015), 1,
      sym_heredoc_body,
    ACTIONS(3122), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69878] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2016), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69923] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    STATE(2017), 1,
      sym_heredoc_body,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [69976] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2018), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70021] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    STATE(2019), 1,
      sym_heredoc_body,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__binary_minus,
      anon_sym_RPAREN,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70068] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3156), 1,
      anon_sym_COLON2,
    STATE(2020), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70141] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2021), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2057), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70212] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3158), 1,
      anon_sym_COLON2,
    STATE(2022), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70285] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2023), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2057), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70356] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    STATE(2024), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [70421] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2025), 1,
      sym_heredoc_body,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 16,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70470] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3160), 1,
      anon_sym_COLON2,
    STATE(2026), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70543] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2027), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2061), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70614] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2028), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2114), 4,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70683] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2029), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2116), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70754] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3162), 1,
      anon_sym_COLON2,
    STATE(2030), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70827] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    STATE(2031), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 5,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 13,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70884] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2032), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70935] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2033), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [70980] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    STATE(2034), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 6,
      anon_sym_PIPE,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 14,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71033] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2035), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71078] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2036), 1,
      sym_heredoc_body,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__binary_minus,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71125] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3164), 1,
      anon_sym_COLON2,
    STATE(2037), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71198] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3166), 1,
      anon_sym_COLON2,
    STATE(2038), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71271] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3168), 1,
      anon_sym_COLON2,
    STATE(2039), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71344] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3170), 1,
      anon_sym_COLON2,
    STATE(2040), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71417] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2041), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2116), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71488] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    STATE(2042), 1,
      sym_heredoc_body,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2057), 3,
      anon_sym_RPAREN,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71559] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(2043), 1,
      sym_heredoc_body,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71604] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(2044), 1,
      sym_heredoc_body,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2063), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2061), 18,
      sym__binary_minus,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71651] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2045), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2061), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71722] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3172), 1,
      anon_sym_COLON2,
    STATE(2046), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71795] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3174), 1,
      anon_sym_COLON2,
    STATE(2047), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71868] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    STATE(2048), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71913] = 18,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2049), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(2114), 4,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [71982] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2050), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2057), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72053] = 16,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2063), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2051), 1,
      sym_heredoc_body,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
    ACTIONS(2061), 7,
      anon_sym_QMARK,
      anon_sym_COLON2,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
  [72118] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3176), 1,
      anon_sym_COLON2,
    STATE(2052), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72191] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    STATE(2053), 1,
      sym_heredoc_body,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(2057), 3,
      anon_sym_COLON2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72262] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2484), 1,
      anon_sym_EQ_GT,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2054), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3178), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72335] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    STATE(2055), 1,
      sym_heredoc_body,
    ACTIONS(2059), 7,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_LT,
      anon_sym_DOT_DOT,
      anon_sym_LT_EQ,
      anon_sym_GT,
      anon_sym_EQ_EQ,
    ACTIONS(2057), 21,
      sym__binary_minus,
      sym__binary_star,
      anon_sym_EQ_GT,
      anon_sym_QMARK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_and,
      anon_sym_or,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_GT_EQ,
      anon_sym_CARET,
      anon_sym_PLUS,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72380] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3180), 1,
      anon_sym_COLON2,
    STATE(2056), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72453] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3182), 1,
      anon_sym_COLON2,
    STATE(2057), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72526] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3184), 1,
      anon_sym_COLON2,
    STATE(2058), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72599] = 20,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3186), 1,
      anon_sym_COLON2,
    STATE(2059), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72672] = 19,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3050), 1,
      anon_sym_PIPE,
    ACTIONS(3052), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3054), 1,
      anon_sym_AMP,
    ACTIONS(3060), 1,
      anon_sym_GT_EQ,
    ACTIONS(3062), 1,
      anon_sym_CARET,
    ACTIONS(3068), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3142), 1,
      anon_sym_QMARK,
    ACTIONS(3144), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3146), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2060), 1,
      sym_heredoc_body,
    ACTIONS(3058), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3064), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3148), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(2118), 3,
      anon_sym_EQ_GT,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3056), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3066), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3070), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72743] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3188), 1,
      anon_sym_COLON2,
    STATE(2061), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72813] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3190), 1,
      anon_sym_COLON2,
    STATE(2062), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72883] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3192), 1,
      anon_sym_COLON2,
    STATE(2063), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [72953] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3194), 1,
      anon_sym_COLON2,
    STATE(2064), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [73023] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3072), 1,
      anon_sym_PIPE,
    ACTIONS(3074), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3076), 1,
      anon_sym_AMP,
    ACTIONS(3080), 1,
      anon_sym_QMARK,
    ACTIONS(3084), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3086), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3094), 1,
      anon_sym_GT_EQ,
    ACTIONS(3096), 1,
      anon_sym_CARET,
    ACTIONS(3102), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3196), 1,
      anon_sym_COLON2,
    STATE(2065), 1,
      sym_heredoc_body,
    ACTIONS(3088), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3090), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3092), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3098), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3078), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3100), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3104), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [73093] = 19,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3108), 1,
      anon_sym_PIPE,
    ACTIONS(3110), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3112), 1,
      anon_sym_AMP,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3120), 1,
      anon_sym_DOT_DOT_DOT,
    ACTIONS(3128), 1,
      anon_sym_GT_EQ,
    ACTIONS(3130), 1,
      anon_sym_CARET,
    ACTIONS(3136), 1,
      anon_sym_EQ_EQ,
    ACTIONS(3198), 1,
      anon_sym_RPAREN,
    STATE(2066), 1,
      sym_heredoc_body,
    ACTIONS(3122), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3124), 2,
      anon_sym_PIPE_PIPE,
      anon_sym_AMP_AMP,
    ACTIONS(3126), 2,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
    ACTIONS(3132), 2,
      sym__binary_minus,
      anon_sym_PLUS,
    ACTIONS(3114), 3,
      anon_sym_LT,
      anon_sym_LT_EQ,
      anon_sym_GT,
    ACTIONS(3134), 3,
      sym__binary_star,
      anon_sym_SLASH,
      anon_sym_PERCENT,
    ACTIONS(3138), 5,
      anon_sym_BANG_EQ,
      anon_sym_EQ_EQ_EQ,
      anon_sym_LT_EQ_GT,
      anon_sym_EQ_TILDE,
      anon_sym_BANG_TILDE,
  [73163] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2067), 1,
      sym_heredoc_body,
    ACTIONS(1427), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73200] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2068), 1,
      sym_heredoc_body,
    ACTIONS(1397), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73237] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2069), 1,
      sym_heredoc_body,
    ACTIONS(1405), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73274] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2070), 1,
      sym_heredoc_body,
    ACTIONS(1451), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73311] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2071), 1,
      sym_heredoc_body,
    ACTIONS(1423), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73348] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2072), 1,
      sym_heredoc_body,
    ACTIONS(1419), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73385] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2073), 1,
      sym_heredoc_body,
    ACTIONS(1401), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73422] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2074), 1,
      sym_heredoc_body,
    ACTIONS(1413), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73459] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2075), 1,
      sym_heredoc_body,
    ACTIONS(1431), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73496] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2076), 1,
      sym_heredoc_body,
    ACTIONS(1439), 25,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_and,
      anon_sym_or,
  [73533] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3202), 1,
      anon_sym_LBRACE,
    STATE(2077), 1,
      sym_heredoc_body,
    STATE(2084), 1,
      sym_block,
    STATE(2095), 1,
      sym_do_block,
    ACTIONS(3200), 20,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73574] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3206), 1,
      anon_sym_COMMA,
    STATE(2078), 2,
      sym_heredoc_body,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3204), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73611] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3202), 1,
      anon_sym_LBRACE,
    ACTIONS(3209), 1,
      anon_sym_do,
    STATE(2079), 1,
      sym_heredoc_body,
    STATE(2084), 1,
      sym_block,
    STATE(2095), 1,
      sym_do_block,
    ACTIONS(3200), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73654] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3213), 1,
      anon_sym_COMMA,
    STATE(2080), 1,
      sym_heredoc_body,
    STATE(2081), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3211), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73693] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3213), 1,
      anon_sym_COMMA,
    STATE(2078), 1,
      aux_sym_command_argument_list_repeat1,
    STATE(2081), 1,
      sym_heredoc_body,
    ACTIONS(3215), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73732] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2082), 1,
      sym_heredoc_body,
    ACTIONS(2120), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73766] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2083), 1,
      sym_heredoc_body,
    ACTIONS(3204), 22,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73800] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2084), 1,
      sym_heredoc_body,
    ACTIONS(3217), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73833] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2085), 1,
      sym_heredoc_body,
    ACTIONS(2572), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(2574), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [73868] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3219), 1,
      anon_sym_COMMA,
    STATE(2086), 1,
      sym_heredoc_body,
    STATE(2087), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3211), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73905] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3219), 1,
      anon_sym_COMMA,
    STATE(2087), 1,
      sym_heredoc_body,
    STATE(2090), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3215), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [73942] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2088), 1,
      sym_heredoc_body,
    ACTIONS(1924), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(1926), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [73977] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2089), 1,
      sym_heredoc_body,
    ACTIONS(1644), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(1646), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [74012] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3221), 1,
      anon_sym_COMMA,
    STATE(2090), 2,
      sym_heredoc_body,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3204), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74047] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2091), 1,
      sym_heredoc_body,
    ACTIONS(793), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(791), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [74082] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2092), 1,
      sym_heredoc_body,
    ACTIONS(3211), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74115] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2093), 1,
      sym_heredoc_body,
    ACTIONS(2499), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(2501), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [74150] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2094), 1,
      sym_heredoc_body,
    ACTIONS(1708), 8,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
    ACTIONS(1710), 13,
      anon_sym_STAR,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      sym_identifier,
  [74185] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2095), 1,
      sym_heredoc_body,
    ACTIONS(3217), 21,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74218] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2096), 1,
      sym_heredoc_body,
    ACTIONS(3224), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74249] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2097), 1,
      sym_heredoc_body,
    ACTIONS(2254), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74280] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2098), 1,
      sym_heredoc_body,
    ACTIONS(3226), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74311] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2099), 1,
      sym_heredoc_body,
    ACTIONS(3228), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74342] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2100), 1,
      sym_heredoc_body,
    ACTIONS(3230), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74373] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2101), 1,
      sym_heredoc_body,
    ACTIONS(3232), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74404] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2102), 1,
      sym_heredoc_body,
    ACTIONS(3234), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74435] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2103), 1,
      sym_heredoc_body,
    ACTIONS(3236), 19,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
      anon_sym_and,
      anon_sym_or,
  [74466] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2104), 1,
      sym_heredoc_body,
    ACTIONS(3238), 18,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74496] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2105), 1,
      sym_heredoc_body,
    ACTIONS(793), 18,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [74526] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3240), 1,
      anon_sym_EQ,
    STATE(2106), 1,
      sym_heredoc_body,
    ACTIONS(2499), 16,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74557] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2107), 1,
      sym_heredoc_body,
    ACTIONS(3242), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74586] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3244), 1,
      sym_identifier,
    ACTIONS(3246), 1,
      anon_sym_LBRACE,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3256), 1,
      anon_sym_do,
    STATE(2108), 1,
      sym_heredoc_body,
    STATE(2587), 1,
      sym__simple_formal_parameter,
    STATE(1512), 2,
      sym_do_block,
      sym_block,
    STATE(2541), 2,
      sym_parameters,
      sym_bare_parameters,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [74635] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2109), 1,
      sym_heredoc_body,
    ACTIONS(3258), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74664] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3262), 1,
      anon_sym_COMMA,
    STATE(2110), 1,
      sym_heredoc_body,
    STATE(2111), 1,
      aux_sym_undef_repeat1,
    ACTIONS(3260), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74697] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3264), 1,
      anon_sym_COMMA,
    STATE(2111), 2,
      sym_heredoc_body,
      aux_sym_undef_repeat1,
    ACTIONS(3238), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74728] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2112), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3267), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74759] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2113), 1,
      sym_heredoc_body,
    ACTIONS(3267), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74788] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2114), 1,
      sym_heredoc_body,
    ACTIONS(3271), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74817] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3244), 1,
      sym_identifier,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3273), 1,
      anon_sym_LBRACE,
    ACTIONS(3275), 1,
      anon_sym_do,
    STATE(2115), 1,
      sym_heredoc_body,
    STATE(2587), 1,
      sym__simple_formal_parameter,
    STATE(1170), 2,
      sym_do_block,
      sym_block,
    STATE(2589), 2,
      sym_parameters,
      sym_bare_parameters,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [74866] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2116), 1,
      sym_heredoc_body,
    ACTIONS(3277), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74895] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2117), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3279), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74926] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2118), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3281), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74957] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2119), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3283), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [74988] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2120), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3285), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [75019] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2121), 1,
      sym_heredoc_body,
    ACTIONS(3269), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3287), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [75050] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2122), 1,
      sym_heredoc_body,
    ACTIONS(3289), 17,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [75079] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3244), 1,
      sym_identifier,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3293), 1,
      anon_sym_do,
    STATE(2123), 1,
      sym_heredoc_body,
    STATE(2587), 1,
      sym__simple_formal_parameter,
    STATE(2605), 2,
      sym_do_block,
      sym_block,
    STATE(2633), 2,
      sym_parameters,
      sym_bare_parameters,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75128] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3262), 1,
      anon_sym_COMMA,
    STATE(2110), 1,
      aux_sym_undef_repeat1,
    STATE(2124), 1,
      sym_heredoc_body,
    ACTIONS(3295), 15,
      sym__line_break,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_then,
      anon_sym_ensure,
  [75161] = 15,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3299), 1,
      anon_sym_COMMA,
    ACTIONS(3301), 1,
      anon_sym_PIPE,
    ACTIONS(3303), 1,
      anon_sym_SEMI,
    STATE(2125), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2576), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75211] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3305), 1,
      sym_identifier,
    ACTIONS(3307), 1,
      anon_sym_LPAREN,
    ACTIONS(3309), 1,
      anon_sym_STAR,
    ACTIONS(3311), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3313), 1,
      anon_sym_AMP,
    STATE(57), 1,
      sym_parameters,
    STATE(85), 1,
      sym__terminator,
    STATE(2126), 1,
      sym_heredoc_body,
    STATE(2540), 1,
      sym__simple_formal_parameter,
    STATE(2685), 1,
      sym_bare_parameters,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    STATE(2735), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75259] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3305), 1,
      sym_identifier,
    ACTIONS(3307), 1,
      anon_sym_LPAREN,
    ACTIONS(3309), 1,
      anon_sym_STAR,
    ACTIONS(3311), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3313), 1,
      anon_sym_AMP,
    STATE(37), 1,
      sym_parameters,
    STATE(99), 1,
      sym__terminator,
    STATE(2127), 1,
      sym_heredoc_body,
    STATE(2540), 1,
      sym__simple_formal_parameter,
    STATE(2671), 1,
      sym_bare_parameters,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    STATE(2735), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75307] = 13,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3244), 1,
      sym_identifier,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3315), 1,
      anon_sym_LBRACE,
    ACTIONS(3317), 1,
      anon_sym_do,
    STATE(2128), 1,
      sym_heredoc_body,
    STATE(2587), 1,
      sym__simple_formal_parameter,
    STATE(1511), 2,
      sym_do_block,
      sym_block,
    STATE(2697), 2,
      sym_parameters,
      sym_bare_parameters,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75353] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3305), 1,
      sym_identifier,
    ACTIONS(3307), 1,
      anon_sym_LPAREN,
    ACTIONS(3309), 1,
      anon_sym_STAR,
    ACTIONS(3311), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3313), 1,
      anon_sym_AMP,
    STATE(58), 1,
      sym_parameters,
    STATE(102), 1,
      sym__terminator,
    STATE(2129), 1,
      sym_heredoc_body,
    STATE(2540), 1,
      sym__simple_formal_parameter,
    STATE(2698), 1,
      sym_bare_parameters,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    STATE(2735), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75401] = 15,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3319), 1,
      anon_sym_COMMA,
    ACTIONS(3321), 1,
      anon_sym_PIPE,
    ACTIONS(3323), 1,
      anon_sym_SEMI,
    STATE(2130), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2558), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75451] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3325), 1,
      anon_sym_PIPE,
    ACTIONS(3327), 1,
      anon_sym_SEMI,
    STATE(2131), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75498] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3329), 1,
      anon_sym_LT,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(111), 1,
      sym__terminator,
    STATE(2132), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    STATE(2686), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [75545] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3329), 1,
      anon_sym_LT,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(79), 1,
      sym__terminator,
    STATE(2133), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    STATE(2736), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [75592] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3329), 1,
      anon_sym_LT,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(80), 1,
      sym__terminator,
    STATE(2134), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    STATE(2672), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [75639] = 13,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3305), 1,
      sym_identifier,
    ACTIONS(3307), 1,
      anon_sym_LPAREN,
    ACTIONS(3309), 1,
      anon_sym_STAR,
    ACTIONS(3311), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3313), 1,
      anon_sym_AMP,
    STATE(72), 1,
      sym_parameters,
    STATE(118), 1,
      sym__terminator,
    STATE(2135), 1,
      sym_heredoc_body,
    STATE(2540), 1,
      sym__simple_formal_parameter,
    STATE(2768), 1,
      sym_bare_parameters,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    STATE(2735), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75684] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3333), 1,
      anon_sym_PIPE,
    ACTIONS(3335), 1,
      anon_sym_SEMI,
    STATE(2136), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75731] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    STATE(940), 1,
      sym__terminator,
    STATE(2137), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(588), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_end,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_ensure,
  [75772] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3347), 1,
      anon_sym_PIPE,
    ACTIONS(3349), 1,
      anon_sym_SEMI,
    STATE(2138), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75819] = 14,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    ACTIONS(3351), 1,
      anon_sym_PIPE,
    ACTIONS(3353), 1,
      anon_sym_SEMI,
    STATE(2139), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [75866] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    STATE(940), 1,
      sym__terminator,
    STATE(2140), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(3355), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_end,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_ensure,
  [75907] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    ACTIONS(3357), 1,
      anon_sym_end,
    STATE(97), 1,
      sym__terminator,
    STATE(2141), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [75951] = 13,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3329), 1,
      anon_sym_LT,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(130), 1,
      sym__terminator,
    STATE(2142), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    STATE(2765), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [75995] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(2143), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    ACTIONS(107), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76033] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    ACTIONS(3359), 1,
      anon_sym_end,
    STATE(103), 1,
      sym__terminator,
    STATE(2144), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76077] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    ACTIONS(3361), 1,
      anon_sym_end,
    STATE(110), 1,
      sym__terminator,
    STATE(2145), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76121] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3363), 1,
      sym_identifier,
    ACTIONS(3365), 1,
      anon_sym_RPAREN,
    STATE(2146), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2676), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76165] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3363), 1,
      sym_identifier,
    ACTIONS(3367), 1,
      anon_sym_RPAREN,
    STATE(2147), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2680), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76209] = 13,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3363), 1,
      sym_identifier,
    ACTIONS(3369), 1,
      anon_sym_RPAREN,
    STATE(2148), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2730), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76253] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3363), 1,
      sym_identifier,
    STATE(2149), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76294] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3297), 1,
      sym_identifier,
    STATE(2150), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76335] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3248), 1,
      anon_sym_LPAREN,
    ACTIONS(3250), 1,
      anon_sym_STAR,
    ACTIONS(3252), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3254), 1,
      anon_sym_AMP,
    ACTIONS(3371), 1,
      sym_identifier,
    STATE(2151), 1,
      sym_heredoc_body,
    STATE(2423), 1,
      sym__simple_formal_parameter,
    STATE(2425), 1,
      sym_parameters,
    STATE(2463), 1,
      sym__formal_parameter,
    STATE(2417), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76376] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3305), 1,
      sym_identifier,
    ACTIONS(3309), 1,
      anon_sym_STAR,
    ACTIONS(3311), 1,
      anon_sym_STAR_STAR,
    ACTIONS(3313), 1,
      anon_sym_AMP,
    ACTIONS(3373), 1,
      anon_sym_LPAREN,
    STATE(2152), 1,
      sym_heredoc_body,
    STATE(2666), 1,
      sym_parameters,
    STATE(2679), 1,
      sym__simple_formal_parameter,
    STATE(2718), 1,
      sym__formal_parameter,
    STATE(2735), 5,
      sym_splat_parameter,
      sym_hash_splat_parameter,
      sym_block_parameter,
      sym_keyword_parameter,
      sym_optional_parameter,
  [76417] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2713), 1,
      anon_sym_LPAREN2,
    ACTIONS(3202), 1,
      anon_sym_LBRACE,
    ACTIONS(3209), 1,
      anon_sym_do,
    STATE(2153), 1,
      sym_heredoc_body,
    STATE(2182), 1,
      sym_argument_list,
    STATE(2362), 1,
      sym_block,
    STATE(2365), 1,
      sym_do_block,
    ACTIONS(107), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76454] = 12,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    ACTIONS(3375), 1,
      anon_sym_end,
    STATE(128), 1,
      sym__terminator,
    STATE(2154), 1,
      sym_heredoc_body,
    STATE(2155), 1,
      sym_argument_list,
    STATE(2241), 1,
      sym_do_block,
    STATE(2267), 1,
      sym_block,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(107), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76495] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(2155), 1,
      sym_heredoc_body,
    STATE(2285), 1,
      sym_do_block,
    STATE(2286), 1,
      sym_block,
    ACTIONS(1385), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [76527] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3329), 1,
      anon_sym_LT,
    STATE(111), 1,
      sym__terminator,
    STATE(2156), 1,
      sym_heredoc_body,
    STATE(2686), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76559] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2157), 1,
      sym_heredoc_body,
    ACTIONS(797), 12,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_LT,
      anon_sym_end,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76583] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2158), 1,
      sym_heredoc_body,
    ACTIONS(789), 12,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_LT,
      anon_sym_end,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76607] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3329), 1,
      anon_sym_LT,
    STATE(80), 1,
      sym__terminator,
    STATE(2159), 1,
      sym_heredoc_body,
    STATE(2672), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76639] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3329), 1,
      anon_sym_LT,
    STATE(79), 1,
      sym__terminator,
    STATE(2160), 1,
      sym_heredoc_body,
    STATE(2736), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76671] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2161), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3287), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [76696] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2162), 1,
      sym_heredoc_body,
    ACTIONS(789), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76719] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2163), 1,
      sym_heredoc_body,
    ACTIONS(777), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76742] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3361), 1,
      anon_sym_end,
    STATE(110), 1,
      sym__terminator,
    STATE(2164), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76771] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3359), 1,
      anon_sym_end,
    STATE(103), 1,
      sym__terminator,
    STATE(2165), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76800] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3379), 1,
      anon_sym_COMMA,
    STATE(2166), 1,
      sym_heredoc_body,
    STATE(2170), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3215), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [76825] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2167), 1,
      sym_heredoc_body,
    ACTIONS(785), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76848] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2168), 1,
      sym_heredoc_body,
    ACTIONS(769), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76871] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2169), 1,
      sym_heredoc_body,
    ACTIONS(797), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [76894] = 4,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3381), 1,
      anon_sym_COMMA,
    STATE(2170), 2,
      sym_heredoc_body,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3204), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [76917] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2171), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3285), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [76942] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2172), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3283), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [76967] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3379), 1,
      anon_sym_COMMA,
    STATE(2166), 1,
      aux_sym_command_argument_list_repeat1,
    STATE(2173), 1,
      sym_heredoc_body,
    ACTIONS(3211), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [76992] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2174), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3281), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77017] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2175), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3279), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77042] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2176), 1,
      sym_heredoc_body,
    ACTIONS(793), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77065] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3329), 1,
      anon_sym_LT,
    STATE(130), 1,
      sym__terminator,
    STATE(2177), 1,
      sym_heredoc_body,
    STATE(2765), 1,
      sym_superclass,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77094] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3384), 1,
      anon_sym_EQ,
    STATE(2178), 1,
      sym_heredoc_body,
    ACTIONS(2499), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77119] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3386), 1,
      anon_sym_COMMA,
    STATE(2179), 1,
      sym_heredoc_body,
    STATE(2181), 1,
      aux_sym_undef_repeat1,
    ACTIONS(3295), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77146] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3388), 1,
      anon_sym_COMMA,
    STATE(2180), 2,
      sym_heredoc_body,
      aux_sym_undef_repeat1,
    ACTIONS(3238), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77171] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3386), 1,
      anon_sym_COMMA,
    STATE(2180), 1,
      aux_sym_undef_repeat1,
    STATE(2181), 1,
      sym_heredoc_body,
    ACTIONS(3260), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77198] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3202), 1,
      anon_sym_LBRACE,
    ACTIONS(3209), 1,
      anon_sym_do,
    STATE(2182), 1,
      sym_heredoc_body,
    STATE(2344), 1,
      sym_block,
    STATE(2352), 1,
      sym_do_block,
    ACTIONS(1385), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [77229] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2183), 1,
      sym_heredoc_body,
    ACTIONS(3377), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3267), 9,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77254] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2184), 1,
      sym_heredoc_body,
    ACTIONS(781), 11,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77277] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3357), 1,
      anon_sym_end,
    STATE(97), 1,
      sym__terminator,
    STATE(2185), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77306] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3391), 1,
      anon_sym_LBRACE,
    STATE(2186), 1,
      sym_heredoc_body,
    STATE(2217), 1,
      sym_do_block,
    STATE(2219), 1,
      sym_block,
    ACTIONS(3200), 9,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [77333] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3391), 1,
      anon_sym_LBRACE,
    ACTIONS(3393), 1,
      anon_sym_do,
    STATE(2187), 1,
      sym_heredoc_body,
    STATE(2217), 1,
      sym_do_block,
    STATE(2219), 1,
      sym_block,
    ACTIONS(3200), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [77362] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2188), 1,
      sym_heredoc_body,
    ACTIONS(781), 10,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77384] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3397), 1,
      anon_sym_if,
    ACTIONS(3399), 1,
      anon_sym_unless,
    ACTIONS(3401), 1,
      anon_sym_while,
    ACTIONS(3403), 1,
      anon_sym_until,
    ACTIONS(3405), 1,
      anon_sym_rescue,
    STATE(963), 1,
      sym__terminator,
    STATE(2189), 1,
      sym_heredoc_body,
    ACTIONS(588), 2,
      ts_builtin_sym_end,
      anon_sym___END__,
    ACTIONS(3395), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77420] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2190), 1,
      sym_heredoc_body,
    ACTIONS(785), 10,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77442] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(136), 1,
      sym__terminator,
    STATE(2191), 1,
      sym_heredoc_body,
    STATE(2521), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77480] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2501), 1,
      anon_sym_STAR,
    ACTIONS(3240), 1,
      anon_sym_EQ,
    STATE(2192), 1,
      sym_heredoc_body,
    ACTIONS(769), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
    ACTIONS(2499), 6,
      sym__line_break,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      sym_identifier,
  [77508] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(148), 1,
      sym__terminator,
    STATE(2193), 1,
      sym_heredoc_body,
    STATE(2492), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77546] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2194), 1,
      sym_heredoc_body,
    ACTIONS(2572), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77568] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2195), 1,
      sym_heredoc_body,
    ACTIONS(777), 10,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77590] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(146), 1,
      sym__terminator,
    STATE(2196), 1,
      sym_heredoc_body,
    STATE(2490), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77628] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3397), 1,
      anon_sym_if,
    ACTIONS(3399), 1,
      anon_sym_unless,
    ACTIONS(3401), 1,
      anon_sym_while,
    ACTIONS(3403), 1,
      anon_sym_until,
    ACTIONS(3405), 1,
      anon_sym_rescue,
    STATE(963), 1,
      sym__terminator,
    STATE(2197), 1,
      sym_heredoc_body,
    ACTIONS(3355), 2,
      ts_builtin_sym_end,
      anon_sym___END__,
    ACTIONS(3395), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77664] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(137), 1,
      sym__terminator,
    STATE(2198), 1,
      sym_heredoc_body,
    STATE(2496), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77702] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(141), 1,
      sym__terminator,
    STATE(2199), 1,
      sym_heredoc_body,
    STATE(2516), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77740] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2200), 1,
      sym_heredoc_body,
    ACTIONS(1708), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77762] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(142), 1,
      sym__terminator,
    STATE(2201), 1,
      sym_heredoc_body,
    STATE(2513), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77800] = 12,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(143), 1,
      sym__terminator,
    STATE(2202), 1,
      sym_heredoc_body,
    STATE(2497), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [77838] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2203), 1,
      sym_heredoc_body,
    ACTIONS(3204), 11,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [77858] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2204), 1,
      sym_heredoc_body,
    ACTIONS(2499), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77880] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2205), 1,
      sym_heredoc_body,
    ACTIONS(1644), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77902] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2206), 1,
      sym_heredoc_body,
    ACTIONS(1924), 10,
      sym__line_break,
      ts_builtin_sym_end,
      anon_sym___END__,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [77924] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2207), 1,
      sym_heredoc_body,
    ACTIONS(769), 10,
      sym__line_break,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_do,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77946] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3375), 1,
      anon_sym_end,
    STATE(128), 1,
      sym__terminator,
    STATE(2208), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
    ACTIONS(769), 7,
      anon_sym_LBRACE,
      anon_sym_DOT,
      anon_sym_do,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
      anon_sym_LPAREN2,
  [77972] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2209), 1,
      sym_heredoc_body,
    ACTIONS(1419), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [77991] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2210), 1,
      sym_heredoc_body,
    ACTIONS(1423), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78010] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2211), 1,
      sym_heredoc_body,
    ACTIONS(1427), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78029] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2212), 1,
      sym_heredoc_body,
    ACTIONS(1397), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78048] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2213), 1,
      sym_heredoc_body,
    ACTIONS(1405), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78067] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2214), 1,
      sym_heredoc_body,
    ACTIONS(3211), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78086] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3409), 1,
      anon_sym_COMMA,
    STATE(2215), 1,
      sym_heredoc_body,
    STATE(2223), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3215), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [78109] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3409), 1,
      anon_sym_COMMA,
    STATE(2215), 1,
      aux_sym_command_argument_list_repeat1,
    STATE(2216), 1,
      sym_heredoc_body,
    ACTIONS(3211), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [78132] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2217), 1,
      sym_heredoc_body,
    ACTIONS(3217), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78151] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2218), 1,
      sym_heredoc_body,
    ACTIONS(1401), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78170] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2219), 1,
      sym_heredoc_body,
    ACTIONS(3217), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78189] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2501), 1,
      anon_sym_STAR,
    STATE(2220), 1,
      sym_heredoc_body,
    ACTIONS(769), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
    ACTIONS(2499), 6,
      sym__line_break,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      sym_identifier,
  [78214] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2221), 1,
      sym_heredoc_body,
    ACTIONS(1451), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78233] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(153), 1,
      sym__terminator,
    STATE(2222), 1,
      sym_heredoc_body,
    STATE(2649), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [78268] = 4,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3411), 1,
      anon_sym_COMMA,
    STATE(2223), 2,
      sym_heredoc_body,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(3204), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [78289] = 11,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(152), 1,
      sym__terminator,
    STATE(2224), 1,
      sym_heredoc_body,
    STATE(2643), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [78324] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2225), 1,
      sym_heredoc_body,
    ACTIONS(1413), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78343] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2226), 1,
      sym_heredoc_body,
    ACTIONS(1431), 10,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_do,
      anon_sym_and,
      anon_sym_or,
  [78362] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3416), 1,
      anon_sym_end,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    STATE(2227), 1,
      sym_heredoc_body,
    STATE(2277), 1,
      aux_sym_case_repeat1,
    STATE(2420), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2826), 1,
      sym_else,
  [78396] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3422), 1,
      anon_sym_end,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    STATE(2228), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78426] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3428), 1,
      anon_sym_end,
    STATE(2229), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78456] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2230), 1,
      sym_heredoc_body,
    ACTIONS(1435), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [78476] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2231), 1,
      sym_heredoc_body,
    ACTIONS(1419), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [78496] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(2501), 1,
      anon_sym_STAR,
    ACTIONS(3240), 1,
      anon_sym_EQ,
    STATE(2232), 1,
      sym_heredoc_body,
    ACTIONS(2499), 6,
      sym__line_break,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_STAR_STAR,
      anon_sym_AMP,
      sym_identifier,
  [78520] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3430), 1,
      anon_sym_end,
    STATE(2233), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78550] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3434), 1,
      aux_sym_string_array_token1,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3440), 1,
      sym__string_end,
    STATE(2234), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2728), 1,
      aux_sym_string_array_repeat1,
  [78584] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3442), 1,
      aux_sym_string_array_token1,
    ACTIONS(3444), 1,
      sym__string_end,
    STATE(2235), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2725), 1,
      aux_sym_symbol_array_repeat1,
  [78618] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3446), 1,
      anon_sym_end,
    STATE(2236), 1,
      sym_heredoc_body,
    STATE(2260), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78648] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3448), 1,
      aux_sym_string_array_token1,
    ACTIONS(3450), 1,
      sym__string_end,
    STATE(2237), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2701), 1,
      aux_sym_symbol_array_repeat1,
  [78682] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3452), 1,
      aux_sym_string_array_token1,
    ACTIONS(3454), 1,
      sym__string_end,
    STATE(2238), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2668), 1,
      aux_sym_string_array_repeat1,
  [78716] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2239), 1,
      sym_heredoc_body,
    ACTIONS(1431), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [78736] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3456), 1,
      aux_sym_string_array_token1,
    ACTIONS(3458), 1,
      sym__string_end,
    STATE(2240), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2669), 1,
      aux_sym_symbol_array_repeat1,
  [78770] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2241), 1,
      sym_heredoc_body,
    ACTIONS(1447), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [78790] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3430), 1,
      anon_sym_end,
    STATE(2229), 1,
      aux_sym__body_statement_repeat1,
    STATE(2242), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78820] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3460), 1,
      aux_sym_string_array_token1,
    ACTIONS(3462), 1,
      sym__string_end,
    STATE(2243), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2673), 1,
      aux_sym_string_array_repeat1,
  [78854] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2244), 1,
      sym_heredoc_body,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
    ACTIONS(3464), 4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
  [78876] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3466), 1,
      anon_sym_end,
    STATE(2245), 1,
      sym_heredoc_body,
    STATE(2273), 1,
      aux_sym_case_repeat1,
    STATE(2399), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2916), 1,
      sym_else,
  [78910] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3468), 1,
      anon_sym_end,
    STATE(2246), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78940] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3470), 1,
      anon_sym_end,
    STATE(2247), 1,
      sym_heredoc_body,
    STATE(2279), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [78970] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3470), 1,
      anon_sym_end,
    STATE(2248), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79000] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3472), 1,
      anon_sym_end,
    STATE(2249), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79030] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3474), 1,
      anon_sym_end,
    STATE(2250), 1,
      sym_heredoc_body,
    STATE(2411), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2883), 1,
      sym_else,
  [79064] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3476), 1,
      anon_sym_end,
    STATE(2251), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79094] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    STATE(963), 1,
      sym__terminator,
    STATE(2252), 1,
      sym_heredoc_body,
    ACTIONS(3395), 2,
      sym__line_break,
      anon_sym_SEMI,
  [79126] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2253), 1,
      sym_heredoc_body,
    ACTIONS(1423), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79146] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3478), 1,
      anon_sym_end,
    STATE(2254), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79176] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2255), 1,
      sym_heredoc_body,
    ACTIONS(1427), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79196] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3478), 1,
      anon_sym_end,
    STATE(2251), 1,
      aux_sym__body_statement_repeat1,
    STATE(2256), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79226] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2257), 1,
      sym_heredoc_body,
    ACTIONS(1397), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79246] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2258), 1,
      sym_heredoc_body,
    ACTIONS(1405), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79266] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3446), 1,
      anon_sym_end,
    STATE(2259), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79296] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3480), 1,
      anon_sym_end,
    STATE(2260), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79326] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3482), 1,
      anon_sym_end,
    STATE(2261), 1,
      sym_heredoc_body,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79356] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3484), 1,
      aux_sym_string_array_token1,
    ACTIONS(3486), 1,
      sym__string_end,
    STATE(2262), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2684), 1,
      aux_sym_string_array_repeat1,
  [79390] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3488), 1,
      anon_sym_end,
    ACTIONS(3490), 1,
      anon_sym_rescue,
    ACTIONS(3493), 1,
      anon_sym_else,
    ACTIONS(3496), 1,
      anon_sym_ensure,
    STATE(2263), 2,
      sym_heredoc_body,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79418] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3499), 1,
      aux_sym_string_array_token1,
    ACTIONS(3501), 1,
      sym__string_end,
    STATE(2264), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2687), 1,
      aux_sym_symbol_array_repeat1,
  [79452] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2265), 1,
      sym_heredoc_body,
    STATE(2524), 1,
      sym_in,
    STATE(2534), 1,
      aux_sym_for_repeat1,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79480] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3472), 1,
      anon_sym_end,
    STATE(2246), 1,
      aux_sym__body_statement_repeat1,
    STATE(2266), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79510] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2267), 1,
      sym_heredoc_body,
    ACTIONS(1447), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79530] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3507), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2268), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79560] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3509), 1,
      anon_sym_end,
    STATE(2269), 1,
      sym_heredoc_body,
    STATE(2272), 1,
      aux_sym_case_repeat1,
    STATE(2395), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2901), 1,
      sym_else,
  [79594] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3511), 1,
      anon_sym_end,
    STATE(2270), 1,
      sym_heredoc_body,
    STATE(2392), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2900), 1,
      sym_else,
  [79628] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2271), 1,
      sym_heredoc_body,
    ACTIONS(1401), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79648] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3513), 1,
      anon_sym_end,
    STATE(2272), 1,
      sym_heredoc_body,
    STATE(2387), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2891), 1,
      sym_else,
  [79682] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3515), 1,
      anon_sym_end,
    STATE(2273), 1,
      sym_heredoc_body,
    STATE(2441), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2837), 1,
      sym_else,
  [79716] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3517), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2274), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79746] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3519), 1,
      anon_sym_end,
    STATE(2275), 1,
      sym_heredoc_body,
    STATE(2281), 1,
      aux_sym_case_repeat1,
    STATE(2370), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2855), 1,
      sym_else,
  [79780] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2276), 1,
      sym_heredoc_body,
    ACTIONS(1451), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79800] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3521), 1,
      anon_sym_end,
    STATE(2277), 1,
      sym_heredoc_body,
    STATE(2405), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2841), 1,
      sym_else,
  [79834] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3523), 1,
      aux_sym_string_array_token1,
    ACTIONS(3525), 1,
      sym__string_end,
    STATE(2278), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2732), 1,
      aux_sym_string_array_repeat1,
  [79868] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3527), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2279), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [79898] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2280), 1,
      sym_heredoc_body,
    ACTIONS(1413), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [79918] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3529), 1,
      anon_sym_end,
    STATE(2281), 1,
      sym_heredoc_body,
    STATE(2402), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2865), 1,
      sym_else,
  [79952] = 10,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3337), 1,
      anon_sym_if,
    ACTIONS(3339), 1,
      anon_sym_unless,
    ACTIONS(3341), 1,
      anon_sym_while,
    ACTIONS(3343), 1,
      anon_sym_until,
    ACTIONS(3345), 1,
      anon_sym_rescue,
    STATE(940), 1,
      sym__terminator,
    STATE(2282), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [79984] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2283), 1,
      sym_heredoc_body,
    ACTIONS(107), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80004] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3531), 1,
      aux_sym_string_array_token1,
    ACTIONS(3533), 1,
      sym__string_end,
    STATE(2284), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2705), 1,
      aux_sym_symbol_array_repeat1,
  [80038] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2285), 1,
      sym_heredoc_body,
    ACTIONS(1455), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80058] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2286), 1,
      sym_heredoc_body,
    ACTIONS(1455), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80078] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3507), 1,
      anon_sym_end,
    STATE(2261), 1,
      aux_sym__body_statement_repeat1,
    STATE(2287), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80108] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3535), 1,
      anon_sym_end,
    STATE(2270), 1,
      aux_sym_case_repeat1,
    STATE(2288), 1,
      sym_heredoc_body,
    STATE(2422), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2889), 1,
      sym_else,
  [80142] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2289), 1,
      sym_heredoc_body,
    STATE(2473), 1,
      sym_in,
    STATE(2632), 1,
      aux_sym_for_repeat1,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80170] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3537), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2290), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80200] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2291), 1,
      sym_heredoc_body,
    ACTIONS(1439), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80220] = 8,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2292), 1,
      sym_heredoc_body,
    STATE(2498), 1,
      sym_in,
    STATE(2546), 1,
      aux_sym_for_repeat1,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80248] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3422), 1,
      anon_sym_end,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    STATE(2274), 1,
      aux_sym__body_statement_repeat1,
    STATE(2293), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80278] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3539), 1,
      aux_sym_string_array_token1,
    ACTIONS(3541), 1,
      sym__string_end,
    STATE(2294), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2665), 1,
      aux_sym_string_array_repeat1,
  [80312] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2295), 1,
      sym_heredoc_body,
    ACTIONS(1443), 8,
      anon_sym_RPAREN,
      anon_sym_DOT,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80332] = 11,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3543), 1,
      anon_sym_end,
    STATE(2250), 1,
      aux_sym_case_repeat1,
    STATE(2296), 1,
      sym_heredoc_body,
    STATE(2440), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2805), 1,
      sym_else,
  [80366] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3545), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2297), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80396] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3545), 1,
      anon_sym_end,
    STATE(2290), 1,
      aux_sym__body_statement_repeat1,
    STATE(2298), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80426] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3547), 1,
      aux_sym_string_array_token1,
    ACTIONS(3549), 1,
      sym__string_end,
    STATE(2299), 1,
      sym_heredoc_body,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2723), 1,
      aux_sym_symbol_array_repeat1,
  [80460] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3551), 1,
      aux_sym_string_array_token1,
    ACTIONS(3553), 1,
      sym__string_end,
    STATE(2237), 1,
      aux_sym__literal_contents,
    STATE(2300), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [80491] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2301), 1,
      sym_heredoc_body,
    ACTIONS(3234), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [80508] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2302), 1,
      sym_heredoc_body,
    ACTIONS(107), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80527] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3555), 1,
      aux_sym_string_array_token1,
    ACTIONS(3557), 1,
      sym__string_end,
    STATE(2278), 1,
      aux_sym__literal_contents,
    STATE(2303), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [80558] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3559), 1,
      anon_sym_end,
    STATE(2304), 1,
      sym_heredoc_body,
    STATE(2326), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80585] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3561), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2305), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80612] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3559), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2306), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80639] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3563), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3566), 1,
      aux_sym_string_array_token1,
    ACTIONS(3568), 1,
      sym_escape_sequence,
    ACTIONS(3571), 1,
      sym__string_content,
    ACTIONS(3574), 1,
      sym__string_end,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2307), 2,
      sym_heredoc_body,
      aux_sym__literal_contents,
  [80668] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3576), 1,
      sym__string_start,
    STATE(2484), 1,
      sym_string,
    STATE(2308), 2,
      sym_heredoc_body,
      aux_sym_chained_string_repeat1,
    ACTIONS(1575), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [80691] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3579), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2309), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [80718] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3581), 1,
      aux_sym_string_array_token1,
    ACTIONS(3583), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2310), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2764), 1,
      aux_sym_string_array_repeat1,
  [80749] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(971), 1,
      anon_sym_EQ_GT,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(150), 1,
      sym__terminator,
    STATE(2311), 1,
      sym_heredoc_body,
    STATE(2508), 1,
      sym_exception_variable,
    STATE(2538), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [80778] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3585), 1,
      aux_sym_string_array_token1,
    ACTIONS(3587), 1,
      sym__string_end,
    STATE(2238), 1,
      aux_sym__literal_contents,
    STATE(2312), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [80809] = 10,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3589), 1,
      anon_sym_end,
    STATE(2313), 1,
      sym_heredoc_body,
    STATE(2510), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2939), 1,
      sym_else,
  [80840] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3591), 1,
      aux_sym_string_array_token1,
    ACTIONS(3593), 1,
      sym__string_end,
    STATE(2299), 1,
      aux_sym__literal_contents,
    STATE(2314), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [80871] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2315), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3287), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [80890] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2316), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3285), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [80909] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2317), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3283), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [80928] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2318), 1,
      sym_heredoc_body,
    ACTIONS(3226), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [80945] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2319), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3281), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [80964] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2320), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3279), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [80983] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2321), 1,
      sym_heredoc_body,
    ACTIONS(3224), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [81000] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3597), 1,
      aux_sym_string_array_token1,
    ACTIONS(3599), 1,
      sym__string_end,
    STATE(2284), 1,
      aux_sym__literal_contents,
    STATE(2322), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81031] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3601), 1,
      anon_sym_COMMA,
    STATE(2323), 1,
      sym_heredoc_body,
    STATE(2366), 1,
      aux_sym_undef_repeat1,
    ACTIONS(3260), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [81052] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2324), 1,
      sym_heredoc_body,
    ACTIONS(1435), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81071] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3603), 1,
      aux_sym_string_array_token1,
    ACTIONS(3605), 1,
      sym__string_end,
    STATE(2294), 1,
      aux_sym__literal_contents,
    STATE(2325), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81102] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3607), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2326), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81129] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3407), 1,
      anon_sym_then,
    ACTIONS(3609), 1,
      anon_sym_COMMA,
    STATE(156), 1,
      sym__terminator,
    STATE(2327), 1,
      sym_heredoc_body,
    STATE(2336), 1,
      aux_sym_when_repeat1,
    STATE(2674), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [81158] = 10,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3611), 1,
      anon_sym_end,
    STATE(2328), 1,
      sym_heredoc_body,
    STATE(2360), 1,
      aux_sym_case_repeat1,
    STATE(2488), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2940), 1,
      sym_else,
  [81189] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3613), 1,
      aux_sym_string_array_token1,
    ACTIONS(3615), 1,
      sym__string_end,
    STATE(2240), 1,
      aux_sym__literal_contents,
    STATE(2329), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81220] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3601), 1,
      anon_sym_COMMA,
    STATE(2323), 1,
      aux_sym_undef_repeat1,
    STATE(2330), 1,
      sym_heredoc_body,
    ACTIONS(3295), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [81241] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2331), 1,
      sym_heredoc_body,
    ACTIONS(3232), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [81258] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3617), 1,
      aux_sym_string_array_token1,
    ACTIONS(3619), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2332), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2773), 1,
      aux_sym_string_array_repeat1,
  [81289] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3621), 1,
      aux_sym_string_array_token1,
    ACTIONS(3623), 1,
      sym__string_end,
    STATE(2243), 1,
      aux_sym__literal_contents,
    STATE(2333), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81320] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3625), 1,
      aux_sym_string_array_token1,
    ACTIONS(3627), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2334), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2774), 1,
      aux_sym_symbol_array_repeat1,
  [81351] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2335), 1,
      sym_heredoc_body,
    ACTIONS(3629), 3,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81372] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3407), 1,
      anon_sym_then,
    ACTIONS(3609), 1,
      anon_sym_COMMA,
    STATE(157), 1,
      sym__terminator,
    STATE(2336), 1,
      sym_heredoc_body,
    STATE(2522), 1,
      aux_sym_when_repeat1,
    STATE(2734), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [81401] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2337), 1,
      sym_heredoc_body,
    ACTIONS(3228), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [81418] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2338), 1,
      sym_heredoc_body,
    ACTIONS(3236), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [81435] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3631), 1,
      anon_sym_end,
    STATE(2339), 1,
      sym_heredoc_body,
    STATE(2348), 1,
      aux_sym__body_statement_repeat1,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81462] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3631), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2340), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81489] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3633), 1,
      aux_sym_string_array_token1,
    ACTIONS(3635), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2341), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2737), 1,
      aux_sym_symbol_array_repeat1,
  [81520] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3637), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2342), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81547] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1323), 1,
      sym__string_start,
    STATE(2308), 1,
      aux_sym_chained_string_repeat1,
    STATE(2343), 1,
      sym_heredoc_body,
    STATE(2484), 1,
      sym_string,
    ACTIONS(1582), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81572] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2344), 1,
      sym_heredoc_body,
    ACTIONS(1455), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81591] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3639), 1,
      aux_sym_string_array_token1,
    ACTIONS(3641), 1,
      sym__string_end,
    STATE(2234), 1,
      aux_sym__literal_contents,
    STATE(2345), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81622] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2346), 1,
      sym_heredoc_body,
    ACTIONS(3643), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81643] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2347), 1,
      sym_heredoc_body,
    ACTIONS(3230), 8,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
      anon_sym_and,
      anon_sym_or,
  [81660] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3645), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2348), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81687] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3647), 1,
      aux_sym_string_array_token1,
    ACTIONS(3649), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2349), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81718] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1323), 1,
      sym__string_start,
    STATE(2343), 1,
      aux_sym_chained_string_repeat1,
    STATE(2350), 1,
      sym_heredoc_body,
    STATE(2484), 1,
      sym_string,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81743] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3561), 1,
      anon_sym_end,
    STATE(2309), 1,
      aux_sym__body_statement_repeat1,
    STATE(2351), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [81770] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2352), 1,
      sym_heredoc_body,
    ACTIONS(1455), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81789] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2353), 1,
      sym_heredoc_body,
    ACTIONS(1443), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [81808] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2354), 1,
      sym_heredoc_body,
    ACTIONS(3595), 2,
      anon_sym_and,
      anon_sym_or,
    ACTIONS(3267), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [81827] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3651), 1,
      sym_identifier,
    ACTIONS(3655), 1,
      anon_sym_do,
    STATE(2355), 1,
      sym_heredoc_body,
    ACTIONS(3653), 5,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
  [81850] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3657), 1,
      aux_sym_string_array_token1,
    ACTIONS(3659), 1,
      sym__string_end,
    STATE(2307), 1,
      aux_sym__literal_contents,
    STATE(2356), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81881] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3661), 1,
      anon_sym_EQ,
    STATE(2357), 1,
      sym_heredoc_body,
    ACTIONS(2499), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [81900] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3663), 1,
      aux_sym_string_array_token1,
    ACTIONS(3665), 1,
      sym__string_end,
    STATE(2264), 1,
      aux_sym__literal_contents,
    STATE(2358), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81931] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3667), 1,
      aux_sym_string_array_token1,
    ACTIONS(3669), 1,
      sym__string_end,
    STATE(2235), 1,
      aux_sym__literal_contents,
    STATE(2359), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [81962] = 10,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3671), 1,
      anon_sym_end,
    STATE(2360), 1,
      sym_heredoc_body,
    STATE(2515), 1,
      aux_sym_case_repeat2,
    STATE(2520), 1,
      aux_sym_case_repeat1,
    STATE(2677), 1,
      sym_when,
    STATE(2931), 1,
      sym_else,
  [81993] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3673), 1,
      aux_sym_string_array_token1,
    ACTIONS(3675), 1,
      sym__string_end,
    STATE(2262), 1,
      aux_sym__literal_contents,
    STATE(2361), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [82024] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2362), 1,
      sym_heredoc_body,
    ACTIONS(1447), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82043] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3677), 1,
      anon_sym_end,
    STATE(2263), 1,
      aux_sym__body_statement_repeat1,
    STATE(2363), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [82070] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3424), 1,
      anon_sym_rescue,
    ACTIONS(3426), 1,
      anon_sym_ensure,
    ACTIONS(3677), 1,
      anon_sym_end,
    STATE(2342), 1,
      aux_sym__body_statement_repeat1,
    STATE(2364), 1,
      sym_heredoc_body,
    STATE(2651), 3,
      sym_else,
      sym_ensure,
      sym_rescue,
  [82097] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2365), 1,
      sym_heredoc_body,
    ACTIONS(1447), 7,
      sym__line_break,
      anon_sym_DOT,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82116] = 4,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3679), 1,
      anon_sym_COMMA,
    STATE(2366), 2,
      sym_heredoc_body,
      aux_sym_undef_repeat1,
    ACTIONS(3238), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [82135] = 7,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2367), 1,
      sym_heredoc_body,
    STATE(2659), 1,
      sym_in,
    STATE(2700), 1,
      aux_sym_for_repeat1,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82160] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3682), 1,
      sym_identifier,
    ACTIONS(3686), 1,
      anon_sym_do,
    STATE(2368), 1,
      sym_heredoc_body,
    ACTIONS(3684), 5,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
  [82183] = 10,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3414), 1,
      anon_sym_SEMI,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3688), 1,
      anon_sym_end,
    STATE(2313), 1,
      aux_sym_case_repeat1,
    STATE(2369), 1,
      sym_heredoc_body,
    STATE(2494), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2962), 1,
      sym_else,
  [82214] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3529), 1,
      anon_sym_end,
    STATE(2370), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2865), 1,
      sym_else,
  [82242] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3690), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2371), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82268] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3692), 1,
      aux_sym_string_array_token1,
    ACTIONS(3694), 1,
      sym__string_end,
    STATE(2334), 1,
      aux_sym__literal_contents,
    STATE(2372), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [82296] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3696), 1,
      aux_sym_string_array_token1,
    ACTIONS(3698), 1,
      sym__string_end,
    STATE(2310), 1,
      aux_sym__literal_contents,
    STATE(2373), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [82324] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2374), 1,
      sym_heredoc_body,
    STATE(2623), 1,
      sym_argument_list,
    ACTIONS(287), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82346] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3704), 1,
      sym__string_end,
    STATE(2375), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82372] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3706), 1,
      sym__string_end,
    STATE(2376), 1,
      sym_heredoc_body,
    STATE(2442), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82398] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2377), 1,
      sym_heredoc_body,
    STATE(2620), 1,
      sym_argument_list,
    ACTIONS(291), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82420] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3708), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2378), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82446] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3710), 1,
      sym__string_end,
    STATE(2379), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82472] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3712), 1,
      sym__string_end,
    STATE(2380), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82498] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2381), 1,
      sym_heredoc_body,
    ACTIONS(3238), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [82514] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2382), 1,
      sym_heredoc_body,
    ACTIONS(1708), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [82530] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3714), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2383), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82556] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3716), 1,
      sym__string_end,
    STATE(2384), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82582] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3718), 1,
      anon_sym_RBRACE,
    ACTIONS(3720), 1,
      anon_sym_if,
    ACTIONS(3722), 1,
      anon_sym_unless,
    ACTIONS(3724), 1,
      anon_sym_while,
    ACTIONS(3726), 1,
      anon_sym_until,
    ACTIONS(3728), 1,
      anon_sym_rescue,
    STATE(2385), 1,
      sym_heredoc_body,
  [82610] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3730), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2386), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82636] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3732), 1,
      anon_sym_end,
    STATE(2387), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2886), 1,
      sym_else,
  [82664] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3734), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2388), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82690] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3736), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2389), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [82716] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2390), 1,
      sym_heredoc_body,
    STATE(2627), 1,
      sym_argument_list,
    ACTIONS(283), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82738] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3738), 1,
      sym__string_end,
    STATE(2375), 1,
      aux_sym__literal_contents,
    STATE(2391), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82764] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3740), 1,
      anon_sym_end,
    STATE(2392), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2890), 1,
      sym_else,
  [82792] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2393), 1,
      sym_heredoc_body,
    ACTIONS(3742), 6,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_ensure,
  [82810] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2394), 1,
      sym_heredoc_body,
    ACTIONS(1924), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [82826] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3513), 1,
      anon_sym_end,
    STATE(2395), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2891), 1,
      sym_else,
  [82854] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2396), 1,
      sym_heredoc_body,
    ACTIONS(3744), 2,
      anon_sym_COMMA,
      anon_sym_in,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [82874] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3746), 1,
      aux_sym_string_array_token1,
    ACTIONS(3748), 1,
      sym__string_end,
    STATE(2332), 1,
      aux_sym__literal_contents,
    STATE(2397), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [82902] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3750), 1,
      sym__string_end,
    STATE(2380), 1,
      aux_sym__literal_contents,
    STATE(2398), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82928] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3515), 1,
      anon_sym_end,
    STATE(2399), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2837), 1,
      sym_else,
  [82956] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3752), 1,
      sym__string_end,
    STATE(2379), 1,
      aux_sym__literal_contents,
    STATE(2400), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [82982] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3754), 1,
      sym__string_end,
    STATE(2384), 1,
      aux_sym__literal_contents,
    STATE(2401), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83008] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3756), 1,
      anon_sym_end,
    STATE(2402), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2872), 1,
      sym_else,
  [83036] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3758), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2403), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83062] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3760), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2404), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83088] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3762), 1,
      anon_sym_end,
    STATE(2405), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2869), 1,
      sym_else,
  [83116] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3764), 1,
      sym__string_end,
    STATE(2406), 1,
      sym_heredoc_body,
    STATE(2407), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83142] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3766), 1,
      sym__string_end,
    STATE(2407), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83168] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3436), 1,
      sym_escape_sequence,
    ACTIONS(3438), 1,
      sym__string_content,
    ACTIONS(3768), 1,
      aux_sym_string_array_token1,
    ACTIONS(3770), 1,
      sym__string_end,
    STATE(2341), 1,
      aux_sym__literal_contents,
    STATE(2408), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
  [83196] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3772), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2409), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83222] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3774), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2410), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83248] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3776), 1,
      anon_sym_end,
    STATE(2411), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2851), 1,
      sym_else,
  [83276] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3778), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2412), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83302] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3780), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2413), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83328] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3782), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2414), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83354] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3784), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2415), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83380] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3786), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2416), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83406] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2417), 1,
      sym_heredoc_body,
    ACTIONS(3788), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83424] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2418), 1,
      sym_heredoc_body,
    ACTIONS(3790), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83442] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2419), 1,
      sym_heredoc_body,
    ACTIONS(3792), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83460] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3521), 1,
      anon_sym_end,
    STATE(2420), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2841), 1,
      sym_else,
  [83488] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2421), 1,
      sym_heredoc_body,
    ACTIONS(3794), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83506] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3511), 1,
      anon_sym_end,
    STATE(2422), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2900), 1,
      sym_else,
  [83534] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2423), 1,
      sym_heredoc_body,
    ACTIONS(3796), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83552] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2424), 1,
      sym_heredoc_body,
    STATE(2626), 1,
      sym_argument_list,
    ACTIONS(261), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [83574] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2425), 1,
      sym_heredoc_body,
    ACTIONS(3798), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83592] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2426), 1,
      sym_heredoc_body,
    ACTIONS(1531), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83610] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3800), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2427), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83636] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2428), 1,
      sym_heredoc_body,
    ACTIONS(1523), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [83654] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3802), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2429), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [83680] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3804), 1,
      sym__string_end,
    STATE(2430), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83706] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3806), 1,
      sym__string_end,
    STATE(2431), 1,
      sym_heredoc_body,
    STATE(2439), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83732] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3808), 1,
      sym__string_end,
    STATE(2432), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83758] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2649), 1,
      anon_sym_COMMA,
    STATE(2433), 1,
      sym_heredoc_body,
    STATE(2434), 1,
      aux_sym_exceptions_repeat1,
    ACTIONS(3810), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
  [83780] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3812), 1,
      anon_sym_COMMA,
    STATE(2434), 2,
      sym_heredoc_body,
      aux_sym_exceptions_repeat1,
    ACTIONS(2044), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
  [83800] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2435), 1,
      sym_heredoc_body,
    ACTIONS(793), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [83816] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2436), 1,
      sym_heredoc_body,
    ACTIONS(1644), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [83832] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3815), 1,
      sym__string_end,
    STATE(2437), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83858] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2649), 1,
      anon_sym_COMMA,
    STATE(2433), 1,
      aux_sym_exceptions_repeat1,
    STATE(2438), 1,
      sym_heredoc_body,
    ACTIONS(2651), 4,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
  [83880] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3817), 1,
      sym__string_end,
    STATE(2439), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83906] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3474), 1,
      anon_sym_end,
    STATE(2440), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2883), 1,
      sym_else,
  [83934] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3819), 1,
      anon_sym_end,
    STATE(2441), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2882), 1,
      sym_else,
  [83962] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3821), 1,
      sym__string_end,
    STATE(2442), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [83988] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3823), 1,
      sym__string_end,
    STATE(2443), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84014] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3825), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2444), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84040] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3827), 1,
      sym__string_end,
    STATE(2445), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84066] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3829), 1,
      sym__string_end,
    STATE(2446), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84092] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3831), 1,
      sym__string_end,
    STATE(2447), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84118] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3833), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2448), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84144] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3835), 1,
      sym__string_end,
    STATE(2449), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84170] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3837), 1,
      sym__string_end,
    STATE(2450), 1,
      sym_heredoc_body,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84196] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3839), 1,
      sym__string_end,
    STATE(2443), 1,
      aux_sym__literal_contents,
    STATE(2451), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84222] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3841), 1,
      sym__string_end,
    STATE(2446), 1,
      aux_sym__literal_contents,
    STATE(2452), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84248] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3843), 1,
      sym__string_end,
    STATE(2445), 1,
      aux_sym__literal_contents,
    STATE(2453), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84274] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2454), 1,
      sym_heredoc_body,
    ACTIONS(3845), 6,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_when,
      anon_sym_elsif,
      anon_sym_else,
      anon_sym_ensure,
  [84292] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2455), 1,
      sym_heredoc_body,
    ACTIONS(1495), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [84310] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3847), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2456), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84336] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3849), 1,
      sym__string_end,
    STATE(2447), 1,
      aux_sym__literal_contents,
    STATE(2457), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84362] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2458), 1,
      sym_heredoc_body,
    STATE(2639), 1,
      sym_argument_list,
    ACTIONS(1594), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [84384] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3851), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2459), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84410] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2729), 1,
      anon_sym_LPAREN2,
    STATE(2460), 1,
      sym_heredoc_body,
    STATE(2602), 1,
      sym_argument_list,
    ACTIONS(1606), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [84432] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3853), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2461), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84458] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3855), 1,
      sym__string_end,
    STATE(2449), 1,
      aux_sym__literal_contents,
    STATE(2462), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84484] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2463), 1,
      sym_heredoc_body,
    ACTIONS(3857), 6,
      anon_sym_LBRACE,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
      anon_sym_do,
  [84502] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3859), 1,
      sym__string_end,
    STATE(2450), 1,
      aux_sym__literal_contents,
    STATE(2464), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84528] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3861), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2465), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84554] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3863), 1,
      sym__string_end,
    STATE(2430), 1,
      aux_sym__literal_contents,
    STATE(2466), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84580] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3865), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2467), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84606] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2468), 1,
      sym_heredoc_body,
    ACTIONS(2572), 7,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [84622] = 9,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3720), 1,
      anon_sym_if,
    ACTIONS(3722), 1,
      anon_sym_unless,
    ACTIONS(3724), 1,
      anon_sym_while,
    ACTIONS(3726), 1,
      anon_sym_until,
    ACTIONS(3728), 1,
      anon_sym_rescue,
    ACTIONS(3867), 1,
      anon_sym_RBRACE,
    STATE(2469), 1,
      sym_heredoc_body,
  [84650] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3869), 1,
      sym__string_end,
    STATE(2432), 1,
      aux_sym__literal_contents,
    STATE(2470), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84676] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3871), 1,
      sym__string_end,
    STATE(2437), 1,
      aux_sym__literal_contents,
    STATE(2471), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84702] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3574), 1,
      sym__string_end,
    ACTIONS(3873), 1,
      anon_sym_POUND_LBRACE,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3876), 2,
      sym__string_content,
      sym_escape_sequence,
    STATE(2472), 2,
      sym_heredoc_body,
      aux_sym__literal_contents,
  [84726] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2742), 1,
      anon_sym_do,
    STATE(185), 1,
      sym__terminator,
    STATE(1161), 1,
      sym_do,
    STATE(2473), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [84749] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3879), 1,
      sym__string_end,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2474), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [84772] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3881), 1,
      anon_sym_COLON,
    ACTIONS(3883), 1,
      anon_sym_EQ,
    STATE(2475), 1,
      sym_heredoc_body,
    ACTIONS(3788), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [84793] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3885), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3891), 1,
      sym_heredoc_end,
    ACTIONS(3888), 2,
      sym__heredoc_content,
      sym_escape_sequence,
    STATE(2476), 3,
      sym_interpolation,
      sym_heredoc_body,
      aux_sym_heredoc_body_repeat1,
  [84812] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2477), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84835] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3720), 1,
      anon_sym_if,
    ACTIONS(3722), 1,
      anon_sym_unless,
    ACTIONS(3724), 1,
      anon_sym_while,
    ACTIONS(3726), 1,
      anon_sym_until,
    ACTIONS(3728), 1,
      anon_sym_rescue,
    ACTIONS(3893), 1,
      anon_sym_RBRACE,
    STATE(2478), 1,
      sym_heredoc_body,
  [84860] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2479), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84883] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3895), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2480), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84906] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2481), 1,
      sym_heredoc_body,
    ACTIONS(1590), 5,
      sym__string_start,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [84923] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2482), 1,
      sym_heredoc_body,
    ACTIONS(3899), 2,
      sym__string_content,
      sym__string_end,
    ACTIONS(3897), 3,
      anon_sym_POUND_LBRACE,
      aux_sym_string_array_token1,
      sym_escape_sequence,
  [84942] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3901), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2483), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [84965] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2484), 1,
      sym_heredoc_body,
    ACTIONS(1612), 5,
      sym__string_start,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [84982] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3903), 1,
      anon_sym_COLON,
    ACTIONS(3905), 1,
      anon_sym_EQ,
    STATE(2485), 1,
      sym_heredoc_body,
    ACTIONS(3788), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_do,
  [85003] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2486), 1,
      sym_heredoc_body,
    ACTIONS(3258), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [85018] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2487), 1,
      sym_heredoc_body,
    ACTIONS(1598), 5,
      sym__string_start,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [85035] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3671), 1,
      anon_sym_end,
    STATE(2488), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2931), 1,
      sym_else,
  [85060] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2489), 1,
      sym_heredoc_body,
    ACTIONS(3271), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [85075] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3907), 1,
      anon_sym_end,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    STATE(2490), 1,
      sym_heredoc_body,
    STATE(2894), 2,
      sym_elsif,
      sym_else,
  [85098] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3911), 1,
      anon_sym_r,
    STATE(2491), 1,
      sym_heredoc_body,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [85117] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3913), 1,
      anon_sym_end,
    STATE(2492), 1,
      sym_heredoc_body,
    STATE(2899), 2,
      sym_elsif,
      sym_else,
  [85140] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(149), 1,
      sym__terminator,
    STATE(2493), 1,
      sym_heredoc_body,
    STATE(2612), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85163] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3589), 1,
      anon_sym_end,
    STATE(2494), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2939), 1,
      sym_else,
  [85188] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2495), 1,
      sym_heredoc_body,
    ACTIONS(3242), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [85203] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3915), 1,
      anon_sym_end,
    STATE(2496), 1,
      sym_heredoc_body,
    STATE(2839), 2,
      sym_elsif,
      sym_else,
  [85226] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3917), 1,
      anon_sym_end,
    STATE(2497), 1,
      sym_heredoc_body,
    STATE(2843), 2,
      sym_elsif,
      sym_else,
  [85249] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2768), 1,
      anon_sym_do,
    STATE(188), 1,
      sym__terminator,
    STATE(2498), 1,
      sym_heredoc_body,
    STATE(2584), 1,
      sym_do,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85272] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3919), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2499), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85295] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3921), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2500), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85318] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2501), 1,
      sym_heredoc_body,
    ACTIONS(2044), 5,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
      anon_sym_EQ_GT,
  [85335] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3923), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2502), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85358] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3925), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2503), 1,
      sym_heredoc_body,
    STATE(2511), 1,
      sym_interpolation,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85381] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3927), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3931), 1,
      sym_heredoc_end,
    STATE(2504), 1,
      sym_heredoc_body,
    ACTIONS(3929), 2,
      sym__heredoc_content,
      sym_escape_sequence,
    STATE(2476), 2,
      sym_interpolation,
      aux_sym_heredoc_body_repeat1,
  [85402] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2505), 1,
      sym_heredoc_body,
    ACTIONS(3277), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [85417] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2768), 1,
      anon_sym_do,
    STATE(188), 1,
      sym__terminator,
    STATE(2506), 1,
      sym_heredoc_body,
    STATE(2580), 1,
      sym_do,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85440] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2507), 1,
      sym_heredoc_body,
    ACTIONS(3289), 6,
      anon_sym_RBRACE,
      anon_sym_if,
      anon_sym_unless,
      anon_sym_while,
      anon_sym_until,
      anon_sym_rescue,
  [85455] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3407), 1,
      anon_sym_then,
    STATE(154), 1,
      sym__terminator,
    STATE(2508), 1,
      sym_heredoc_body,
    STATE(2615), 1,
      sym_then,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85478] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3927), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3935), 1,
      sym_heredoc_end,
    STATE(2509), 1,
      sym_heredoc_body,
    ACTIONS(3933), 2,
      sym__heredoc_content,
      sym_escape_sequence,
    STATE(2504), 2,
      sym_interpolation,
      aux_sym_heredoc_body_repeat1,
  [85499] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3937), 1,
      anon_sym_end,
    STATE(2510), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2938), 1,
      sym_else,
  [85524] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2511), 1,
      sym_heredoc_body,
    ACTIONS(3941), 2,
      sym__string_content,
      sym__string_end,
    ACTIONS(3939), 3,
      anon_sym_POUND_LBRACE,
      aux_sym_string_array_token1,
      sym_escape_sequence,
  [85543] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3943), 1,
      sym__string_end,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2512), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85566] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3945), 1,
      anon_sym_end,
    STATE(2513), 1,
      sym_heredoc_body,
    STATE(2918), 2,
      sym_elsif,
      sym_else,
  [85589] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3947), 1,
      sym__string_end,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2514), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85612] = 8,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_when,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3949), 1,
      anon_sym_end,
    STATE(2515), 1,
      sym_heredoc_body,
    STATE(2517), 1,
      aux_sym_case_repeat2,
    STATE(2677), 1,
      sym_when,
    STATE(2952), 1,
      sym_else,
  [85637] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3951), 1,
      anon_sym_end,
    STATE(2516), 1,
      sym_heredoc_body,
    STATE(2915), 2,
      sym_elsif,
      sym_else,
  [85660] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3955), 1,
      anon_sym_when,
    STATE(2677), 1,
      sym_when,
    ACTIONS(3953), 2,
      anon_sym_end,
      anon_sym_else,
    STATE(2517), 2,
      sym_heredoc_body,
      aux_sym_case_repeat2,
  [85681] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2742), 1,
      anon_sym_do,
    STATE(185), 1,
      sym__terminator,
    STATE(1125), 1,
      sym_do,
    STATE(2518), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85704] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3958), 1,
      sym__string_end,
    STATE(2519), 1,
      sym_heredoc_body,
    STATE(2533), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85727] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3960), 1,
      anon_sym_SEMI,
    STATE(2520), 2,
      sym_heredoc_body,
      aux_sym_case_repeat1,
    ACTIONS(3963), 3,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [85746] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(3965), 1,
      anon_sym_end,
    STATE(2521), 1,
      sym_heredoc_body,
    STATE(2912), 2,
      sym_elsif,
      sym_else,
  [85769] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3967), 1,
      anon_sym_COMMA,
    STATE(2522), 2,
      sym_heredoc_body,
      aux_sym_when_repeat1,
    ACTIONS(3970), 3,
      sym__line_break,
      anon_sym_SEMI,
      anon_sym_then,
  [85788] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3972), 1,
      sym__string_end,
    STATE(2512), 1,
      aux_sym__literal_contents,
    STATE(2523), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85811] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2884), 1,
      anon_sym_do,
    STATE(178), 1,
      sym__terminator,
    STATE(1442), 1,
      sym_do,
    STATE(2524), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85834] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3974), 1,
      sym__string_end,
    STATE(2525), 1,
      sym_heredoc_body,
    STATE(2527), 1,
      aux_sym__literal_contents,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85857] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2884), 1,
      anon_sym_do,
    STATE(178), 1,
      sym__terminator,
    STATE(1419), 1,
      sym_do,
    STATE(2526), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [85880] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3976), 1,
      sym__string_end,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2527), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85903] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3978), 1,
      sym__string_end,
    STATE(2474), 1,
      aux_sym__literal_contents,
    STATE(2528), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85926] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3980), 1,
      sym__string_end,
    STATE(2356), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2529), 1,
      sym_heredoc_body,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85949] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3982), 1,
      sym__string_end,
    STATE(2514), 1,
      aux_sym__literal_contents,
    STATE(2530), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [85972] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3432), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3984), 1,
      sym__string_end,
    STATE(2349), 1,
      aux_sym__literal_contents,
    STATE(2511), 1,
      sym_interpolation,
    STATE(2531), 1,
      sym_heredoc_body,
    ACTIONS(3438), 2,
      sym__string_content,
      sym_escape_sequence,
  [85995] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3986), 1,
      anon_sym_COLON,
    ACTIONS(3988), 1,
      anon_sym_EQ,
    STATE(2532), 1,
      sym_heredoc_body,
    ACTIONS(3788), 3,
      anon_sym_COMMA,
      anon_sym_PIPE,
      anon_sym_SEMI,
  [86016] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3700), 1,
      anon_sym_POUND_LBRACE,
    ACTIONS(3990), 1,
      sym__string_end,
    STATE(2472), 1,
      aux_sym__literal_contents,
    STATE(2533), 1,
      sym_heredoc_body,
    STATE(2610), 1,
      sym_interpolation,
    ACTIONS(3702), 2,
      sym__string_content,
      sym_escape_sequence,
  [86039] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2526), 1,
      sym_in,
    STATE(2534), 1,
      sym_heredoc_body,
    STATE(2724), 1,
      aux_sym_for_repeat1,
  [86061] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2524), 1,
      sym_in,
    STATE(2534), 1,
      aux_sym_for_repeat1,
    STATE(2535), 1,
      sym_heredoc_body,
  [86083] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2536), 1,
      sym_heredoc_body,
    ACTIONS(1832), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86099] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2537), 1,
      sym_heredoc_body,
    ACTIONS(1740), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86115] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2538), 1,
      sym_heredoc_body,
    ACTIONS(3992), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [86131] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2539), 1,
      sym_heredoc_body,
    ACTIONS(3970), 4,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
  [86147] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3994), 1,
      anon_sym_COMMA,
    STATE(2540), 1,
      sym_heredoc_body,
    STATE(2624), 1,
      aux_sym_parameters_repeat1,
    ACTIONS(3996), 2,
      sym__line_break,
      anon_sym_SEMI,
  [86167] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3246), 1,
      anon_sym_LBRACE,
    ACTIONS(3998), 1,
      anon_sym_do,
    STATE(2541), 1,
      sym_heredoc_body,
    STATE(1481), 2,
      sym_do_block,
      sym_block,
  [86187] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2542), 1,
      sym_heredoc_body,
    ACTIONS(1856), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86203] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2543), 1,
      sym_heredoc_body,
    ACTIONS(2896), 4,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_then,
  [86219] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4000), 1,
      sym_identifier,
    STATE(2544), 1,
      sym_heredoc_body,
    ACTIONS(3684), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [86237] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4002), 1,
      anon_sym_COMMA,
    ACTIONS(3857), 2,
      anon_sym_PIPE,
      anon_sym_SEMI,
    STATE(2545), 2,
      sym_heredoc_body,
      aux_sym_parameters_repeat1,
  [86255] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2506), 1,
      sym_in,
    STATE(2546), 1,
      sym_heredoc_body,
    STATE(2724), 1,
      aux_sym_for_repeat1,
  [86277] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4005), 1,
      sym_identifier,
    STATE(2547), 1,
      sym_heredoc_body,
    ACTIONS(3653), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [86295] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2548), 1,
      sym_heredoc_body,
    ACTIONS(1736), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86311] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2549), 1,
      sym_heredoc_body,
    ACTIONS(1664), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86327] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2550), 1,
      sym_heredoc_body,
    ACTIONS(1892), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86343] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2498), 1,
      sym_in,
    STATE(2546), 1,
      aux_sym_for_repeat1,
    STATE(2551), 1,
      sym_heredoc_body,
  [86365] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2552), 1,
      sym_heredoc_body,
    ACTIONS(1744), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86381] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2553), 1,
      sym_heredoc_body,
    ACTIONS(1748), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86397] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4009), 1,
      anon_sym_LBRACK,
    ACTIONS(4011), 1,
      anon_sym_COLON_COLON2,
    STATE(2554), 1,
      sym_heredoc_body,
    ACTIONS(4007), 2,
      anon_sym_DOT,
      anon_sym_AMP_DOT,
  [86417] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2555), 1,
      sym_heredoc_body,
    ACTIONS(1768), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86433] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2556), 1,
      sym_heredoc_body,
    ACTIONS(1840), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86449] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4013), 1,
      anon_sym_COMMA,
    ACTIONS(3857), 2,
      sym__line_break,
      anon_sym_SEMI,
    STATE(2557), 2,
      sym_heredoc_body,
      aux_sym_parameters_repeat1,
  [86467] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4016), 1,
      anon_sym_COMMA,
    ACTIONS(4018), 1,
      anon_sym_PIPE,
    ACTIONS(4020), 1,
      anon_sym_SEMI,
    STATE(2558), 1,
      sym_heredoc_body,
    STATE(2578), 1,
      aux_sym_parameters_repeat1,
  [86489] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2559), 1,
      sym_heredoc_body,
    ACTIONS(1860), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86505] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2560), 1,
      sym_heredoc_body,
    ACTIONS(1672), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86521] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2561), 1,
      sym_heredoc_body,
    ACTIONS(1688), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86537] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2562), 1,
      sym_heredoc_body,
    ACTIONS(1676), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86553] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2563), 1,
      sym_heredoc_body,
    ACTIONS(1684), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86569] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2564), 1,
      sym_heredoc_body,
    ACTIONS(1660), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86585] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2565), 1,
      sym_heredoc_body,
    ACTIONS(1888), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86601] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2566), 1,
      sym_heredoc_body,
    ACTIONS(1844), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86617] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2567), 1,
      sym_heredoc_body,
    ACTIONS(1868), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86633] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2568), 1,
      sym_heredoc_body,
    ACTIONS(1704), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86649] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2569), 1,
      sym_heredoc_body,
    ACTIONS(1626), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86665] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2570), 1,
      sym_heredoc_body,
    ACTIONS(1752), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86681] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2571), 1,
      sym_heredoc_body,
    ACTIONS(1776), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86697] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4022), 1,
      anon_sym_COMMA,
    STATE(2572), 1,
      sym_heredoc_body,
    STATE(2593), 1,
      aux_sym__mlhs_repeat1,
    ACTIONS(1267), 2,
      anon_sym_RPAREN,
      anon_sym_EQ,
  [86717] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2573), 1,
      sym_heredoc_body,
    ACTIONS(1884), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86733] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2574), 1,
      sym_heredoc_body,
    ACTIONS(1800), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86749] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2575), 1,
      sym_heredoc_body,
    ACTIONS(1792), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86765] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4024), 1,
      anon_sym_COMMA,
    ACTIONS(4026), 1,
      anon_sym_PIPE,
    ACTIONS(4028), 1,
      anon_sym_SEMI,
    STATE(2576), 1,
      sym_heredoc_body,
    STATE(2607), 1,
      aux_sym_parameters_repeat1,
  [86787] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2577), 1,
      sym_heredoc_body,
    ACTIONS(1904), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86803] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3325), 1,
      anon_sym_PIPE,
    ACTIONS(3327), 1,
      anon_sym_SEMI,
    ACTIONS(4030), 1,
      anon_sym_COMMA,
    STATE(2545), 1,
      aux_sym_parameters_repeat1,
    STATE(2578), 1,
      sym_heredoc_body,
  [86825] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2579), 1,
      sym_heredoc_body,
    ACTIONS(1952), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86841] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2580), 1,
      sym_heredoc_body,
    ACTIONS(1796), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86857] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2581), 1,
      sym_heredoc_body,
    ACTIONS(1956), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86873] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2582), 1,
      sym_heredoc_body,
    ACTIONS(1920), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86889] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2583), 1,
      sym_heredoc_body,
    ACTIONS(1788), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86905] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2584), 1,
      sym_heredoc_body,
    ACTIONS(1912), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86921] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2585), 1,
      sym_heredoc_body,
    ACTIONS(1708), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86937] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2586), 1,
      sym_heredoc_body,
    ACTIONS(1896), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86953] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4032), 1,
      anon_sym_COMMA,
    STATE(2587), 1,
      sym_heredoc_body,
    STATE(2622), 1,
      aux_sym_parameters_repeat1,
    ACTIONS(3996), 2,
      anon_sym_LBRACE,
      anon_sym_do,
  [86973] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2588), 1,
      sym_heredoc_body,
    ACTIONS(1940), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [86989] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3273), 1,
      anon_sym_LBRACE,
    ACTIONS(4034), 1,
      anon_sym_do,
    STATE(2589), 1,
      sym_heredoc_body,
    STATE(1169), 2,
      sym_do_block,
      sym_block,
  [87009] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2590), 1,
      sym_heredoc_body,
    ACTIONS(1652), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87025] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2591), 1,
      sym_heredoc_body,
    ACTIONS(1900), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87041] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2592), 1,
      sym_heredoc_body,
    ACTIONS(1944), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87057] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4036), 1,
      anon_sym_COMMA,
    ACTIONS(3643), 2,
      anon_sym_RPAREN,
      anon_sym_EQ,
    STATE(2593), 2,
      sym_heredoc_body,
      aux_sym__mlhs_repeat1,
  [87075] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2594), 1,
      sym_heredoc_body,
    ACTIONS(1764), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87091] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4011), 1,
      anon_sym_COLON_COLON2,
    ACTIONS(4041), 1,
      anon_sym_LBRACK,
    STATE(2595), 1,
      sym_heredoc_body,
    ACTIONS(4039), 2,
      anon_sym_DOT,
      anon_sym_AMP_DOT,
  [87111] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2596), 1,
      sym_heredoc_body,
    ACTIONS(1828), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87127] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2597), 1,
      sym_heredoc_body,
    ACTIONS(1816), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87143] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2943), 1,
      anon_sym_do,
    STATE(193), 1,
      sym__terminator,
    STATE(1392), 1,
      sym_do,
    STATE(2598), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [87163] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4041), 1,
      anon_sym_LBRACK,
    ACTIONS(4043), 1,
      anon_sym_COLON_COLON2,
    STATE(2599), 1,
      sym_heredoc_body,
    ACTIONS(4039), 2,
      anon_sym_DOT,
      anon_sym_AMP_DOT,
  [87183] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2600), 1,
      sym_heredoc_body,
    ACTIONS(1808), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87199] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2601), 1,
      sym_heredoc_body,
    ACTIONS(4045), 4,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_in,
  [87215] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2602), 1,
      sym_heredoc_body,
    ACTIONS(1880), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87231] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2603), 1,
      sym_heredoc_body,
    ACTIONS(1924), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87247] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4047), 1,
      anon_sym_COMMA,
    ACTIONS(3204), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
    STATE(2604), 2,
      sym_heredoc_body,
      aux_sym_command_argument_list_repeat1,
  [87265] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2605), 1,
      sym_heredoc_body,
    ACTIONS(1948), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87281] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2606), 1,
      sym_heredoc_body,
    ACTIONS(1836), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87297] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3333), 1,
      anon_sym_PIPE,
    ACTIONS(3335), 1,
      anon_sym_SEMI,
    ACTIONS(4050), 1,
      anon_sym_COMMA,
    STATE(2545), 1,
      aux_sym_parameters_repeat1,
    STATE(2607), 1,
      sym_heredoc_body,
  [87319] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2608), 1,
      sym_heredoc_body,
    ACTIONS(1622), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87335] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4054), 1,
      anon_sym_COMMA,
    STATE(2609), 1,
      sym_heredoc_body,
    STATE(2644), 1,
      aux_sym_command_argument_list_repeat1,
    ACTIONS(4052), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [87355] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3939), 1,
      anon_sym_POUND_LBRACE,
    STATE(2610), 1,
      sym_heredoc_body,
    ACTIONS(3941), 3,
      sym__string_content,
      sym__string_end,
      sym_escape_sequence,
  [87373] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4056), 1,
      anon_sym_COMMA,
    ACTIONS(3857), 2,
      anon_sym_LBRACE,
      anon_sym_do,
    STATE(2611), 2,
      sym_heredoc_body,
      aux_sym_parameters_repeat1,
  [87391] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2612), 1,
      sym_heredoc_body,
    ACTIONS(4059), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [87407] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2613), 1,
      sym_heredoc_body,
    ACTIONS(1415), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87423] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(1463), 1,
      anon_sym_COMMA,
    STATE(2572), 1,
      aux_sym__mlhs_repeat1,
    STATE(2614), 1,
      sym_heredoc_body,
    ACTIONS(4061), 2,
      anon_sym_RPAREN,
      anon_sym_EQ,
  [87443] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2615), 1,
      sym_heredoc_body,
    ACTIONS(4063), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [87459] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2616), 1,
      sym_heredoc_body,
    ACTIONS(1732), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87475] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2617), 1,
      sym_heredoc_body,
    ACTIONS(1916), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87491] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2618), 1,
      sym_heredoc_body,
    ACTIONS(1680), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87507] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3897), 1,
      anon_sym_POUND_LBRACE,
    STATE(2619), 1,
      sym_heredoc_body,
    ACTIONS(3899), 3,
      sym__string_content,
      sym__string_end,
      sym_escape_sequence,
  [87525] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2620), 1,
      sym_heredoc_body,
    ACTIONS(1804), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87541] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2621), 1,
      sym_heredoc_body,
    ACTIONS(1724), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87557] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4032), 1,
      anon_sym_COMMA,
    STATE(2611), 1,
      aux_sym_parameters_repeat1,
    STATE(2622), 1,
      sym_heredoc_body,
    ACTIONS(4065), 2,
      anon_sym_LBRACE,
      anon_sym_do,
  [87577] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2623), 1,
      sym_heredoc_body,
    ACTIONS(1630), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87593] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3994), 1,
      anon_sym_COMMA,
    STATE(2557), 1,
      aux_sym_parameters_repeat1,
    STATE(2624), 1,
      sym_heredoc_body,
    ACTIONS(4065), 2,
      sym__line_break,
      anon_sym_SEMI,
  [87613] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2473), 1,
      sym_in,
    STATE(2625), 1,
      sym_heredoc_body,
    STATE(2632), 1,
      aux_sym_for_repeat1,
  [87635] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2626), 1,
      sym_heredoc_body,
    ACTIONS(1852), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87651] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2627), 1,
      sym_heredoc_body,
    ACTIONS(1872), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87667] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2628), 1,
      sym_heredoc_body,
    ACTIONS(1712), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87683] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2629), 1,
      sym_heredoc_body,
    ACTIONS(1696), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87699] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2630), 1,
      sym_heredoc_body,
    ACTIONS(1824), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87715] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2631), 1,
      sym_heredoc_body,
    ACTIONS(1471), 4,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [87731] = 7,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2518), 1,
      sym_in,
    STATE(2632), 1,
      sym_heredoc_body,
    STATE(2724), 1,
      aux_sym_for_repeat1,
  [87753] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3291), 1,
      anon_sym_LBRACE,
    ACTIONS(3331), 1,
      anon_sym_do,
    STATE(2633), 1,
      sym_heredoc_body,
    STATE(2592), 2,
      sym_do_block,
      sym_block,
  [87773] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2634), 1,
      sym_heredoc_body,
    ACTIONS(4067), 4,
      anon_sym_SEMI,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [87789] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2635), 1,
      sym_heredoc_body,
    ACTIONS(1772), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87805] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4069), 1,
      anon_sym_COLON,
    ACTIONS(4071), 1,
      anon_sym_EQ,
    STATE(2636), 1,
      sym_heredoc_body,
    ACTIONS(3788), 2,
      anon_sym_RPAREN,
      anon_sym_COMMA,
  [87825] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2637), 1,
      sym_heredoc_body,
    ACTIONS(1908), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87841] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2638), 1,
      sym_heredoc_body,
    ACTIONS(1820), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87857] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2639), 1,
      sym_heredoc_body,
    ACTIONS(1876), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87873] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2640), 1,
      sym_heredoc_body,
    ACTIONS(1812), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87889] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2641), 1,
      sym_heredoc_body,
    ACTIONS(4073), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [87905] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2642), 1,
      sym_heredoc_body,
    ACTIONS(1848), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87921] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(4075), 1,
      anon_sym_end,
    STATE(2643), 1,
      sym_heredoc_body,
    STATE(2929), 2,
      sym_elsif,
      sym_else,
  [87941] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4077), 1,
      anon_sym_COMMA,
    STATE(2604), 1,
      aux_sym_command_argument_list_repeat1,
    STATE(2644), 1,
      sym_heredoc_body,
    ACTIONS(933), 2,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [87961] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2645), 1,
      sym_heredoc_body,
    ACTIONS(1634), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87977] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2646), 1,
      sym_heredoc_body,
    ACTIONS(1638), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [87993] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2647), 1,
      sym_heredoc_body,
    ACTIONS(1720), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88009] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2648), 1,
      sym_heredoc_body,
    ACTIONS(1389), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88025] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_else,
    ACTIONS(3909), 1,
      anon_sym_elsif,
    ACTIONS(4079), 1,
      anon_sym_end,
    STATE(2649), 1,
      sym_heredoc_body,
    STATE(2943), 2,
      sym_elsif,
      sym_else,
  [88045] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2650), 1,
      sym_heredoc_body,
    ACTIONS(4081), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [88061] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2651), 1,
      sym_heredoc_body,
    ACTIONS(4083), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [88077] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2652), 1,
      sym_heredoc_body,
    ACTIONS(4085), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [88093] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2653), 1,
      sym_heredoc_body,
    ACTIONS(1716), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88109] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2654), 1,
      sym_heredoc_body,
    ACTIONS(1784), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88125] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2655), 1,
      sym_heredoc_body,
    ACTIONS(1656), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88141] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2656), 1,
      sym_heredoc_body,
    ACTIONS(1864), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88157] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2657), 1,
      sym_heredoc_body,
    ACTIONS(1700), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88173] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2658), 1,
      sym_heredoc_body,
    ACTIONS(1648), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88189] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2943), 1,
      anon_sym_do,
    STATE(193), 1,
      sym__terminator,
    STATE(1375), 1,
      sym_do,
    STATE(2659), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88209] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2660), 1,
      sym_heredoc_body,
    ACTIONS(1760), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88225] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2661), 1,
      sym_heredoc_body,
    ACTIONS(4087), 4,
      anon_sym_end,
      anon_sym_rescue,
      anon_sym_else,
      anon_sym_ensure,
  [88241] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2662), 1,
      sym_heredoc_body,
    ACTIONS(1728), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88257] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2663), 1,
      sym_heredoc_body,
    ACTIONS(1668), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88273] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2664), 1,
      sym_heredoc_body,
    ACTIONS(1644), 4,
      anon_sym_DOT,
      anon_sym_LBRACK,
      anon_sym_COLON_COLON2,
      anon_sym_AMP_DOT,
  [88289] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3690), 1,
      sym__string_end,
    ACTIONS(4089), 1,
      aux_sym_string_array_token1,
    STATE(2665), 1,
      sym_heredoc_body,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
  [88308] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2666), 1,
      sym_heredoc_body,
    ACTIONS(3798), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [88323] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3857), 1,
      anon_sym_RPAREN,
    ACTIONS(4091), 1,
      anon_sym_COMMA,
    STATE(2667), 2,
      sym_heredoc_body,
      aux_sym_parameters_repeat1,
  [88340] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3802), 1,
      sym__string_end,
    ACTIONS(4094), 1,
      aux_sym_string_array_token1,
    STATE(2668), 1,
      sym_heredoc_body,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
  [88359] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3800), 1,
      sym__string_end,
    ACTIONS(4096), 1,
      aux_sym_string_array_token1,
    STATE(2669), 1,
      sym_heredoc_body,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
  [88378] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2659), 1,
      sym_in,
    STATE(2670), 1,
      sym_heredoc_body,
    STATE(2700), 1,
      aux_sym_for_repeat1,
  [88397] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(89), 1,
      sym__terminator,
    STATE(2671), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88414] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(87), 1,
      sym__terminator,
    STATE(2672), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88431] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3833), 1,
      sym__string_end,
    ACTIONS(4098), 1,
      aux_sym_string_array_token1,
    STATE(2673), 1,
      sym_heredoc_body,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
  [88450] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2674), 1,
      sym_heredoc_body,
    ACTIONS(4100), 3,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [88465] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2675), 1,
      sym_heredoc_body,
    ACTIONS(2120), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [88480] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4102), 1,
      anon_sym_RPAREN,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    STATE(2676), 1,
      sym_heredoc_body,
    STATE(2726), 1,
      aux_sym_parameters_repeat1,
  [88499] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2677), 1,
      sym_heredoc_body,
    ACTIONS(4106), 3,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [88514] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4110), 1,
      anon_sym_PIPE,
    STATE(2678), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [88533] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2679), 1,
      sym_heredoc_body,
    ACTIONS(3796), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [88548] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    ACTIONS(4112), 1,
      anon_sym_RPAREN,
    STATE(2680), 1,
      sym_heredoc_body,
    STATE(2693), 1,
      aux_sym_parameters_repeat1,
  [88567] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2681), 1,
      sym_heredoc_body,
    ACTIONS(3794), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [88582] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2682), 1,
      sym_heredoc_body,
    ACTIONS(3792), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [88597] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2683), 1,
      sym_heredoc_body,
    ACTIONS(3790), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [88612] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3730), 1,
      sym__string_end,
    ACTIONS(4114), 1,
      aux_sym_string_array_token1,
    STATE(2684), 1,
      sym_heredoc_body,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
  [88631] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(109), 1,
      sym__terminator,
    STATE(2685), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88648] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(100), 1,
      sym__terminator,
    STATE(2686), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88665] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3778), 1,
      sym__string_end,
    ACTIONS(4116), 1,
      aux_sym_string_array_token1,
    STATE(2687), 1,
      sym_heredoc_body,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
  [88684] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3333), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2688), 1,
      sym_heredoc_body,
    STATE(2731), 1,
      aux_sym_block_parameters_repeat1,
  [88703] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1045), 1,
      anon_sym_RBRACE,
    ACTIONS(4118), 1,
      anon_sym_COMMA,
    STATE(2689), 1,
      sym_heredoc_body,
    STATE(2715), 1,
      aux_sym_hash_repeat1,
  [88722] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1051), 1,
      anon_sym_RBRACE,
    ACTIONS(4120), 1,
      anon_sym_COMMA,
    STATE(2690), 1,
      sym_heredoc_body,
    STATE(2715), 1,
      aux_sym_hash_repeat1,
  [88741] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4122), 1,
      anon_sym_RBRACE,
    ACTIONS(4124), 1,
      anon_sym_COMMA,
    STATE(2691), 1,
      sym_heredoc_body,
    STATE(2699), 1,
      aux_sym_hash_repeat1,
  [88760] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2692), 1,
      sym_heredoc_body,
    ACTIONS(3204), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_RBRACK,
  [88775] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    ACTIONS(4126), 1,
      anon_sym_RPAREN,
    STATE(2667), 1,
      aux_sym_parameters_repeat1,
    STATE(2693), 1,
      sym_heredoc_body,
  [88794] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4128), 1,
      anon_sym_PIPE,
    STATE(2694), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [88813] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    STATE(2695), 1,
      sym_heredoc_body,
    ACTIONS(3643), 3,
      anon_sym_RPAREN,
      anon_sym_COMMA,
      anon_sym_EQ,
  [88828] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4110), 1,
      anon_sym_PIPE,
    STATE(2694), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2696), 1,
      sym_heredoc_body,
  [88847] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3315), 1,
      anon_sym_LBRACE,
    ACTIONS(4130), 1,
      anon_sym_do,
    STATE(2697), 1,
      sym_heredoc_body,
    STATE(1474), 2,
      sym_do_block,
      sym_block,
  [88864] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(91), 1,
      sym__terminator,
    STATE(2698), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [88881] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1049), 1,
      anon_sym_RBRACE,
    ACTIONS(4132), 1,
      anon_sym_COMMA,
    STATE(2699), 1,
      sym_heredoc_body,
    STATE(2715), 1,
      aux_sym_hash_repeat1,
  [88900] = 6,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3503), 1,
      anon_sym_COMMA,
    ACTIONS(3505), 1,
      anon_sym_in,
    STATE(2598), 1,
      sym_in,
    STATE(2700), 1,
      sym_heredoc_body,
    STATE(2724), 1,
      aux_sym_for_repeat1,
  [88919] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3825), 1,
      sym__string_end,
    ACTIONS(4134), 1,
      aux_sym_string_array_token1,
    STATE(2701), 1,
      sym_heredoc_body,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
  [88938] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4136), 1,
      anon_sym_PIPE,
    STATE(2678), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2702), 1,
      sym_heredoc_body,
  [88957] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4136), 1,
      anon_sym_PIPE,
    STATE(2703), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [88976] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4138), 1,
      aux_sym_string_array_token1,
    ACTIONS(4141), 1,
      sym__string_end,
    STATE(2704), 2,
      sym_heredoc_body,
      aux_sym_string_array_repeat1,
  [88993] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3708), 1,
      sym__string_end,
    ACTIONS(4143), 1,
      aux_sym_string_array_token1,
    STATE(2705), 1,
      sym_heredoc_body,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
  [89012] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3347), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2706), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [89031] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3347), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2703), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2707), 1,
      sym_heredoc_body,
  [89050] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2708), 1,
      sym_heredoc_body,
    ACTIONS(1523), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [89065] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4145), 1,
      anon_sym_PIPE,
    STATE(2709), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [89084] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2710), 1,
      sym_heredoc_body,
    ACTIONS(1495), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [89099] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3897), 1,
      anon_sym_POUND_LBRACE,
    STATE(2711), 1,
      sym_heredoc_body,
    ACTIONS(3899), 3,
      sym__heredoc_content,
      sym_heredoc_end,
      sym_escape_sequence,
  [89114] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4147), 1,
      aux_sym_string_array_token1,
    ACTIONS(4150), 1,
      sym__string_end,
    STATE(2712), 2,
      sym_heredoc_body,
      aux_sym_symbol_array_repeat1,
  [89131] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2713), 1,
      sym_heredoc_body,
    ACTIONS(1531), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [89146] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3325), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2706), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2714), 1,
      sym_heredoc_body,
  [89165] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4152), 1,
      anon_sym_RBRACE,
    ACTIONS(4154), 1,
      anon_sym_COMMA,
    STATE(2715), 2,
      sym_heredoc_body,
      aux_sym_hash_repeat1,
  [89182] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4157), 1,
      anon_sym_RBRACE,
    ACTIONS(4159), 1,
      anon_sym_COMMA,
    STATE(2690), 1,
      aux_sym_hash_repeat1,
    STATE(2716), 1,
      sym_heredoc_body,
  [89201] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4161), 1,
      anon_sym_PIPE,
    STATE(2709), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2717), 1,
      sym_heredoc_body,
  [89220] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2718), 1,
      sym_heredoc_body,
    ACTIONS(3857), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [89235] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    ACTIONS(4163), 1,
      anon_sym_RPAREN,
    STATE(2667), 1,
      aux_sym_parameters_repeat1,
    STATE(2719), 1,
      sym_heredoc_body,
  [89254] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4161), 1,
      anon_sym_PIPE,
    STATE(2720), 1,
      sym_heredoc_body,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
  [89273] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4165), 1,
      anon_sym_RBRACE,
    ACTIONS(4167), 1,
      anon_sym_COMMA,
    STATE(2689), 1,
      aux_sym_hash_repeat1,
    STATE(2721), 1,
      sym_heredoc_body,
  [89292] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4169), 1,
      anon_sym_PIPE,
    STATE(2720), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2722), 1,
      sym_heredoc_body,
  [89311] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3861), 1,
      sym__string_end,
    ACTIONS(4171), 1,
      aux_sym_string_array_token1,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
    STATE(2723), 1,
      sym_heredoc_body,
  [89330] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4173), 1,
      anon_sym_COMMA,
    ACTIONS(4176), 1,
      anon_sym_in,
    STATE(2724), 2,
      sym_heredoc_body,
      aux_sym_for_repeat1,
  [89347] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3780), 1,
      sym__string_end,
    ACTIONS(4178), 1,
      aux_sym_string_array_token1,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
    STATE(2725), 1,
      sym_heredoc_body,
  [89366] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    ACTIONS(4180), 1,
      anon_sym_RPAREN,
    STATE(2667), 1,
      aux_sym_parameters_repeat1,
    STATE(2726), 1,
      sym_heredoc_body,
  [89385] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4182), 1,
      anon_sym_COMMA,
    ACTIONS(4185), 1,
      anon_sym_PIPE,
    STATE(2727), 2,
      sym_heredoc_body,
      aux_sym_block_parameters_repeat1,
  [89402] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3786), 1,
      sym__string_end,
    ACTIONS(4187), 1,
      aux_sym_string_array_token1,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
    STATE(2728), 1,
      sym_heredoc_body,
  [89421] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    ACTIONS(4169), 1,
      anon_sym_PIPE,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2729), 1,
      sym_heredoc_body,
  [89440] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4104), 1,
      anon_sym_COMMA,
    ACTIONS(4189), 1,
      anon_sym_RPAREN,
    STATE(2719), 1,
      aux_sym_parameters_repeat1,
    STATE(2730), 1,
      sym_heredoc_body,
  [89459] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3351), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2727), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2731), 1,
      sym_heredoc_body,
  [89478] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(3865), 1,
      sym__string_end,
    ACTIONS(4191), 1,
      aux_sym_string_array_token1,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
    STATE(2732), 1,
      sym_heredoc_body,
  [89497] = 6,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3351), 1,
      anon_sym_PIPE,
    ACTIONS(4108), 1,
      anon_sym_COMMA,
    STATE(2729), 1,
      aux_sym_block_parameters_repeat1,
    STATE(2733), 1,
      sym_heredoc_body,
  [89516] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2734), 1,
      sym_heredoc_body,
    ACTIONS(4193), 3,
      anon_sym_end,
      anon_sym_when,
      anon_sym_else,
  [89531] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2735), 1,
      sym_heredoc_body,
    ACTIONS(3788), 3,
      sym__line_break,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [89546] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(83), 1,
      sym__terminator,
    STATE(2736), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [89563] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3923), 1,
      sym__string_end,
    ACTIONS(4195), 1,
      aux_sym_string_array_token1,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
    STATE(2737), 1,
      sym_heredoc_body,
  [89579] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2738), 1,
      sym_heredoc_body,
    ACTIONS(4197), 2,
      sym_constant,
      sym_identifier,
  [89593] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2739), 1,
      sym_heredoc_body,
    ACTIONS(4199), 2,
      sym_constant,
      sym_identifier,
  [89607] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2740), 1,
      sym_heredoc_body,
    ACTIONS(4201), 2,
      sym_constant,
      sym_identifier,
  [89621] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4026), 1,
      anon_sym_PIPE,
    ACTIONS(4028), 1,
      anon_sym_SEMI,
    STATE(2741), 1,
      sym_heredoc_body,
  [89637] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2742), 1,
      sym_heredoc_body,
    ACTIONS(4203), 2,
      sym_constant,
      sym_identifier,
  [89651] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2743), 1,
      sym_heredoc_body,
    ACTIONS(4205), 2,
      sym_constant,
      sym_identifier,
  [89665] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2744), 1,
      sym_heredoc_body,
    ACTIONS(4207), 2,
      sym_constant,
      sym_identifier,
  [89679] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4209), 1,
      ts_builtin_sym_end,
    ACTIONS(4211), 1,
      anon_sym___END__,
    STATE(2745), 1,
      sym_heredoc_body,
  [89695] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2746), 1,
      sym_heredoc_body,
    ACTIONS(4213), 2,
      sym_constant,
      sym_identifier,
  [89709] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2747), 1,
      sym_heredoc_body,
    ACTIONS(4215), 2,
      sym_constant,
      sym_identifier,
  [89723] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2748), 1,
      sym_heredoc_body,
    ACTIONS(4217), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [89737] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2749), 1,
      sym_heredoc_body,
    ACTIONS(4185), 2,
      anon_sym_COMMA,
      anon_sym_PIPE,
  [89751] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2750), 1,
      sym_heredoc_body,
    ACTIONS(3744), 2,
      anon_sym_COMMA,
      anon_sym_in,
  [89765] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2751), 1,
      sym_heredoc_body,
    ACTIONS(4219), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [89779] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4018), 1,
      anon_sym_PIPE,
    ACTIONS(4020), 1,
      anon_sym_SEMI,
    STATE(2752), 1,
      sym_heredoc_body,
  [89795] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2753), 1,
      sym_heredoc_body,
    ACTIONS(4221), 2,
      sym_constant,
      sym_identifier,
  [89809] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2754), 1,
      sym_heredoc_body,
    ACTIONS(4223), 2,
      sym_constant,
      sym_identifier,
  [89823] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2755), 1,
      sym_heredoc_body,
    ACTIONS(4225), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [89837] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2756), 1,
      sym_heredoc_body,
    ACTIONS(4152), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [89851] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2757), 1,
      sym_heredoc_body,
    ACTIONS(4227), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [89865] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4229), 1,
      anon_sym_RPAREN,
    ACTIONS(4231), 1,
      anon_sym_EQ,
    STATE(2758), 1,
      sym_heredoc_body,
  [89881] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2759), 1,
      sym_heredoc_body,
    ACTIONS(4233), 2,
      sym_integer,
      sym_float,
  [89895] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2760), 1,
      sym_heredoc_body,
    ACTIONS(4235), 2,
      sym_constant,
      sym_identifier,
  [89909] = 5,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1339), 1,
      anon_sym_LPAREN,
    STATE(2590), 1,
      sym_parenthesized_statements,
    STATE(2761), 1,
      sym_heredoc_body,
  [89925] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2762), 1,
      sym_heredoc_body,
    ACTIONS(4237), 2,
      sym_constant,
      sym_identifier,
  [89939] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2763), 1,
      sym_heredoc_body,
    ACTIONS(4239), 2,
      sym_constant,
      sym_identifier,
  [89953] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3895), 1,
      sym__string_end,
    ACTIONS(4241), 1,
      aux_sym_string_array_token1,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
    STATE(2764), 1,
      sym_heredoc_body,
  [89969] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(120), 1,
      sym__terminator,
    STATE(2765), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [89983] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2766), 1,
      sym_heredoc_body,
    ACTIONS(769), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [89997] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2767), 1,
      sym_heredoc_body,
    ACTIONS(4243), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [90011] = 4,
    ACTIONS(71), 1,
      sym_comment,
    STATE(126), 1,
      sym__terminator,
    STATE(2768), 1,
      sym_heredoc_body,
    ACTIONS(355), 2,
      sym__line_break,
      anon_sym_SEMI,
  [90025] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_RBRACE,
    ACTIONS(4247), 1,
      anon_sym_COMMA,
    STATE(2769), 1,
      sym_heredoc_body,
    STATE(2772), 1,
      aux_sym_hash_repeat1,
  [90041] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2770), 1,
      sym_heredoc_body,
    ACTIONS(4249), 2,
      sym_constant,
      sym_identifier,
  [90055] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2771), 1,
      sym_heredoc_body,
    ACTIONS(4251), 2,
      sym_constant,
      sym_identifier,
  [90069] = 5,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(1061), 1,
      anon_sym_RBRACE,
    ACTIONS(4253), 1,
      anon_sym_COMMA,
    STATE(2715), 1,
      aux_sym_hash_repeat1,
    STATE(2772), 1,
      sym_heredoc_body,
  [90085] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3919), 1,
      sym__string_end,
    ACTIONS(4255), 1,
      aux_sym_string_array_token1,
    STATE(2704), 1,
      aux_sym_string_array_repeat1,
    STATE(2773), 1,
      sym_heredoc_body,
  [90101] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3901), 1,
      sym__string_end,
    ACTIONS(4257), 1,
      aux_sym_string_array_token1,
    STATE(2712), 1,
      aux_sym_symbol_array_repeat1,
    STATE(2774), 1,
      sym_heredoc_body,
  [90117] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2775), 1,
      sym_heredoc_body,
    ACTIONS(4259), 2,
      sym_constant,
      sym_identifier,
  [90131] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2776), 1,
      sym_heredoc_body,
    ACTIONS(4261), 2,
      sym_constant,
      sym_identifier,
  [90145] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2777), 1,
      sym_heredoc_body,
    ACTIONS(4263), 2,
      sym_constant,
      sym_identifier,
  [90159] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2778), 1,
      sym_heredoc_body,
    ACTIONS(4265), 2,
      sym_constant,
      sym_identifier,
  [90173] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2779), 1,
      sym_heredoc_body,
    ACTIONS(4267), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [90187] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2780), 1,
      sym_heredoc_body,
    ACTIONS(4269), 2,
      sym_constant,
      sym_identifier,
  [90201] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4271), 1,
      anon_sym_RBRACK,
    STATE(2781), 1,
      sym_heredoc_body,
  [90214] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4273), 1,
      anon_sym_EQ,
    STATE(2782), 1,
      sym_heredoc_body,
  [90227] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4275), 1,
      sym__line_break,
    STATE(2783), 1,
      sym_heredoc_body,
  [90240] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4277), 1,
      anon_sym_RPAREN,
    STATE(2784), 1,
      sym_heredoc_body,
  [90253] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4279), 1,
      anon_sym_EQ,
    STATE(2785), 1,
      sym_heredoc_body,
  [90266] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4281), 1,
      ts_builtin_sym_end,
    STATE(2786), 1,
      sym_heredoc_body,
  [90279] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4283), 1,
      anon_sym_EQ,
    STATE(2787), 1,
      sym_heredoc_body,
  [90292] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4285), 1,
      anon_sym_RBRACE,
    STATE(2788), 1,
      sym_heredoc_body,
  [90305] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4287), 1,
      anon_sym_EQ,
    STATE(2789), 1,
      sym_heredoc_body,
  [90318] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4289), 1,
      anon_sym_RBRACE,
    STATE(2790), 1,
      sym_heredoc_body,
  [90331] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(674), 1,
      anon_sym_RBRACE,
    STATE(2791), 1,
      sym_heredoc_body,
  [90344] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4291), 1,
      anon_sym_RPAREN,
    STATE(2792), 1,
      sym_heredoc_body,
  [90357] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4293), 1,
      sym_identifier,
    STATE(2793), 1,
      sym_heredoc_body,
  [90370] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4295), 1,
      anon_sym_EQ,
    STATE(2794), 1,
      sym_heredoc_body,
  [90383] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4297), 1,
      anon_sym_RBRACE,
    STATE(2795), 1,
      sym_heredoc_body,
  [90396] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4299), 1,
      anon_sym_EQ,
    STATE(2796), 1,
      sym_heredoc_body,
  [90409] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4301), 1,
      anon_sym_EQ,
    STATE(2797), 1,
      sym_heredoc_body,
  [90422] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2122), 1,
      anon_sym_COLON,
    STATE(2798), 1,
      sym_heredoc_body,
  [90435] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4303), 1,
      anon_sym_EQ,
    STATE(2799), 1,
      sym_heredoc_body,
  [90448] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4305), 1,
      anon_sym_RPAREN,
    STATE(2800), 1,
      sym_heredoc_body,
  [90461] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4307), 1,
      sym_identifier,
    STATE(2801), 1,
      sym_heredoc_body,
  [90474] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4309), 1,
      anon_sym_RPAREN,
    STATE(2802), 1,
      sym_heredoc_body,
  [90487] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4311), 1,
      anon_sym_RBRACK,
    STATE(2803), 1,
      sym_heredoc_body,
  [90500] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4313), 1,
      anon_sym_EQ,
    STATE(2804), 1,
      sym_heredoc_body,
  [90513] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3474), 1,
      anon_sym_end,
    STATE(2805), 1,
      sym_heredoc_body,
  [90526] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4315), 1,
      anon_sym_RBRACE,
    STATE(2806), 1,
      sym_heredoc_body,
  [90539] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4317), 1,
      sym__string_end,
    STATE(2807), 1,
      sym_heredoc_body,
  [90552] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4319), 1,
      anon_sym_RBRACK,
    STATE(2808), 1,
      sym_heredoc_body,
  [90565] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(693), 1,
      anon_sym_RBRACE,
    STATE(2809), 1,
      sym_heredoc_body,
  [90578] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4321), 1,
      anon_sym_RPAREN,
    STATE(2810), 1,
      sym_heredoc_body,
  [90591] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4323), 1,
      sym_identifier,
    STATE(2811), 1,
      sym_heredoc_body,
  [90604] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4325), 1,
      anon_sym_EQ,
    STATE(2812), 1,
      sym_heredoc_body,
  [90617] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4327), 1,
      sym_identifier,
    STATE(2813), 1,
      sym_heredoc_body,
  [90630] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4329), 1,
      sym_identifier,
    STATE(2814), 1,
      sym_heredoc_body,
  [90643] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4331), 1,
      sym_identifier,
    STATE(2815), 1,
      sym_heredoc_body,
  [90656] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4333), 1,
      anon_sym_RBRACK,
    STATE(2816), 1,
      sym_heredoc_body,
  [90669] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2817), 1,
      sym_heredoc_body,
    ACTIONS(4335), 2,
      sym_constant,
      sym_identifier,
  [90680] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4337), 1,
      sym__string_end,
    STATE(2818), 1,
      sym_heredoc_body,
  [90693] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4339), 1,
      sym__string_end,
    STATE(2819), 1,
      sym_heredoc_body,
  [90706] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4341), 1,
      sym_identifier,
    STATE(2820), 1,
      sym_heredoc_body,
  [90719] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4343), 1,
      sym__line_break,
    STATE(2821), 1,
      sym_heredoc_body,
  [90732] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(672), 1,
      anon_sym_RBRACE,
    STATE(2822), 1,
      sym_heredoc_body,
  [90745] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4345), 1,
      anon_sym_EQ,
    STATE(2823), 1,
      sym_heredoc_body,
  [90758] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4347), 1,
      anon_sym_LBRACE,
    STATE(2824), 1,
      sym_heredoc_body,
  [90771] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4349), 1,
      anon_sym_RPAREN,
    STATE(2825), 1,
      sym_heredoc_body,
  [90784] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3521), 1,
      anon_sym_end,
    STATE(2826), 1,
      sym_heredoc_body,
  [90797] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(695), 1,
      anon_sym_RBRACE,
    STATE(2827), 1,
      sym_heredoc_body,
  [90810] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4351), 1,
      anon_sym_LBRACE,
    STATE(2828), 1,
      sym_heredoc_body,
  [90823] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4353), 1,
      anon_sym_RBRACE,
    STATE(2829), 1,
      sym_heredoc_body,
  [90836] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4355), 1,
      anon_sym_RBRACK,
    STATE(2830), 1,
      sym_heredoc_body,
  [90849] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2831), 1,
      sym_heredoc_body,
    ACTIONS(4357), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [90860] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(689), 1,
      anon_sym_RBRACE,
    STATE(2832), 1,
      sym_heredoc_body,
  [90873] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4359), 1,
      anon_sym_EQ,
    STATE(2833), 1,
      sym_heredoc_body,
  [90886] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4361), 1,
      anon_sym_RPAREN,
    STATE(2834), 1,
      sym_heredoc_body,
  [90899] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4363), 1,
      anon_sym_RPAREN,
    STATE(2835), 1,
      sym_heredoc_body,
  [90912] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4365), 1,
      sym_uninterpreted,
    STATE(2836), 1,
      sym_heredoc_body,
  [90925] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3819), 1,
      anon_sym_end,
    STATE(2837), 1,
      sym_heredoc_body,
  [90938] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4367), 1,
      anon_sym_RBRACK,
    STATE(2838), 1,
      sym_heredoc_body,
  [90951] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4369), 1,
      anon_sym_end,
    STATE(2839), 1,
      sym_heredoc_body,
  [90964] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4371), 1,
      anon_sym_EQ,
    STATE(2840), 1,
      sym_heredoc_body,
  [90977] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3762), 1,
      anon_sym_end,
    STATE(2841), 1,
      sym_heredoc_body,
  [90990] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4373), 1,
      anon_sym_end,
    STATE(2842), 1,
      sym_heredoc_body,
  [91003] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4375), 1,
      anon_sym_end,
    STATE(2843), 1,
      sym_heredoc_body,
  [91016] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4377), 1,
      anon_sym_EQ,
    STATE(2844), 1,
      sym_heredoc_body,
  [91029] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4379), 1,
      anon_sym_end,
    STATE(2845), 1,
      sym_heredoc_body,
  [91042] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4381), 1,
      ts_builtin_sym_end,
    STATE(2846), 1,
      sym_heredoc_body,
  [91055] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4383), 1,
      sym__string_end,
    STATE(2847), 1,
      sym_heredoc_body,
  [91068] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4385), 1,
      anon_sym_end,
    STATE(2848), 1,
      sym_heredoc_body,
  [91081] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2849), 1,
      sym_heredoc_body,
    ACTIONS(4387), 2,
      anon_sym_DOT,
      anon_sym_COLON_COLON,
  [91092] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4389), 1,
      sym__string_end,
    STATE(2850), 1,
      sym_heredoc_body,
  [91105] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4391), 1,
      anon_sym_end,
    STATE(2851), 1,
      sym_heredoc_body,
  [91118] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4393), 1,
      anon_sym_RBRACE,
    STATE(2852), 1,
      sym_heredoc_body,
  [91131] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4395), 1,
      anon_sym_EQ,
    STATE(2853), 1,
      sym_heredoc_body,
  [91144] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4397), 1,
      anon_sym_RBRACK,
    STATE(2854), 1,
      sym_heredoc_body,
  [91157] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3529), 1,
      anon_sym_end,
    STATE(2855), 1,
      sym_heredoc_body,
  [91170] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4399), 1,
      sym__string_end,
    STATE(2856), 1,
      sym_heredoc_body,
  [91183] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2857), 1,
      sym_heredoc_body,
    ACTIONS(4401), 2,
      sym_constant,
      sym_identifier,
  [91194] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4403), 1,
      sym_identifier,
    STATE(2858), 1,
      sym_heredoc_body,
  [91207] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4405), 1,
      anon_sym_EQ,
    STATE(2859), 1,
      sym_heredoc_body,
  [91220] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4407), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      sym_heredoc_body,
  [91233] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4409), 1,
      anon_sym_RPAREN,
    STATE(2861), 1,
      sym_heredoc_body,
  [91246] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4231), 1,
      anon_sym_EQ,
    STATE(2862), 1,
      sym_heredoc_body,
  [91259] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4411), 1,
      anon_sym_RPAREN,
    STATE(2863), 1,
      sym_heredoc_body,
  [91272] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(685), 1,
      anon_sym_RBRACE,
    STATE(2864), 1,
      sym_heredoc_body,
  [91285] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3756), 1,
      anon_sym_end,
    STATE(2865), 1,
      sym_heredoc_body,
  [91298] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4413), 1,
      anon_sym_RPAREN,
    STATE(2866), 1,
      sym_heredoc_body,
  [91311] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4415), 1,
      anon_sym_EQ,
    STATE(2867), 1,
      sym_heredoc_body,
  [91324] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(666), 1,
      anon_sym_RBRACE,
    STATE(2868), 1,
      sym_heredoc_body,
  [91337] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4417), 1,
      anon_sym_end,
    STATE(2869), 1,
      sym_heredoc_body,
  [91350] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4419), 1,
      anon_sym_RBRACK,
    STATE(2870), 1,
      sym_heredoc_body,
  [91363] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2207), 1,
      anon_sym_COLON,
    STATE(2871), 1,
      sym_heredoc_body,
  [91376] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4421), 1,
      anon_sym_end,
    STATE(2872), 1,
      sym_heredoc_body,
  [91389] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2873), 1,
      sym_heredoc_body,
    ACTIONS(4423), 2,
      sym_constant,
      sym_identifier,
  [91400] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4425), 1,
      anon_sym_RBRACE,
    STATE(2874), 1,
      sym_heredoc_body,
  [91413] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4427), 1,
      anon_sym_EQ,
    STATE(2875), 1,
      sym_heredoc_body,
  [91426] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2876), 1,
      sym_heredoc_body,
    ACTIONS(4429), 2,
      sym_constant,
      sym_identifier,
  [91437] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4431), 1,
      anon_sym_EQ,
    STATE(2877), 1,
      sym_heredoc_body,
  [91450] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2878), 1,
      sym_heredoc_body,
    ACTIONS(4433), 2,
      sym_constant,
      sym_identifier,
  [91461] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2879), 1,
      sym_heredoc_body,
    ACTIONS(4435), 2,
      sym_constant,
      sym_identifier,
  [91472] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4437), 1,
      anon_sym_RPAREN,
    STATE(2880), 1,
      sym_heredoc_body,
  [91485] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4439), 1,
      anon_sym_RPAREN,
    STATE(2881), 1,
      sym_heredoc_body,
  [91498] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4441), 1,
      anon_sym_end,
    STATE(2882), 1,
      sym_heredoc_body,
  [91511] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3776), 1,
      anon_sym_end,
    STATE(2883), 1,
      sym_heredoc_body,
  [91524] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4443), 1,
      sym_identifier,
    STATE(2884), 1,
      sym_heredoc_body,
  [91537] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2885), 1,
      sym_heredoc_body,
    ACTIONS(4445), 2,
      sym_constant,
      sym_identifier,
  [91548] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4447), 1,
      anon_sym_end,
    STATE(2886), 1,
      sym_heredoc_body,
  [91561] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4449), 1,
      anon_sym_RBRACE,
    STATE(2887), 1,
      sym_heredoc_body,
  [91574] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4451), 1,
      sym_identifier,
    STATE(2888), 1,
      sym_heredoc_body,
  [91587] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3511), 1,
      anon_sym_end,
    STATE(2889), 1,
      sym_heredoc_body,
  [91600] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4453), 1,
      anon_sym_end,
    STATE(2890), 1,
      sym_heredoc_body,
  [91613] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3732), 1,
      anon_sym_end,
    STATE(2891), 1,
      sym_heredoc_body,
  [91626] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4455), 1,
      anon_sym_EQ,
    STATE(2892), 1,
      sym_heredoc_body,
  [91639] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4457), 1,
      ts_builtin_sym_end,
    STATE(2893), 1,
      sym_heredoc_body,
  [91652] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4459), 1,
      anon_sym_end,
    STATE(2894), 1,
      sym_heredoc_body,
  [91665] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4461), 1,
      anon_sym_RBRACE,
    STATE(2895), 1,
      sym_heredoc_body,
  [91678] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4463), 1,
      anon_sym_end,
    STATE(2896), 1,
      sym_heredoc_body,
  [91691] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4465), 1,
      anon_sym_RPAREN,
    STATE(2897), 1,
      sym_heredoc_body,
  [91704] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4467), 1,
      anon_sym_EQ,
    STATE(2898), 1,
      sym_heredoc_body,
  [91717] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4469), 1,
      anon_sym_end,
    STATE(2899), 1,
      sym_heredoc_body,
  [91730] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3740), 1,
      anon_sym_end,
    STATE(2900), 1,
      sym_heredoc_body,
  [91743] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3513), 1,
      anon_sym_end,
    STATE(2901), 1,
      sym_heredoc_body,
  [91756] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4471), 1,
      anon_sym_end,
    STATE(2902), 1,
      sym_heredoc_body,
  [91769] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4473), 1,
      anon_sym_end,
    STATE(2903), 1,
      sym_heredoc_body,
  [91782] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4475), 1,
      anon_sym_end,
    STATE(2904), 1,
      sym_heredoc_body,
  [91795] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(2484), 1,
      anon_sym_COLON,
    STATE(2905), 1,
      sym_heredoc_body,
  [91808] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4477), 1,
      sym_uninterpreted,
    STATE(2906), 1,
      sym_heredoc_body,
  [91821] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4479), 1,
      anon_sym_EQ,
    STATE(2907), 1,
      sym_heredoc_body,
  [91834] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4481), 1,
      anon_sym_RPAREN,
    STATE(2908), 1,
      sym_heredoc_body,
  [91847] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4483), 1,
      anon_sym_EQ,
    STATE(2909), 1,
      sym_heredoc_body,
  [91860] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(4485), 1,
      anon_sym_EQ,
    STATE(2910), 1,
      sym_heredoc_body,
  [91873] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4487), 1,
      anon_sym_end,
    STATE(2911), 1,
      sym_heredoc_body,
  [91886] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4489), 1,
      anon_sym_end,
    STATE(2912), 1,
      sym_heredoc_body,
  [91899] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4491), 1,
      sym_identifier,
    STATE(2913), 1,
      sym_heredoc_body,
  [91912] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4493), 1,
      anon_sym_end,
    STATE(2914), 1,
      sym_heredoc_body,
  [91925] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4495), 1,
      anon_sym_end,
    STATE(2915), 1,
      sym_heredoc_body,
  [91938] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(3515), 1,
      anon_sym_end,
    STATE(2916), 1,
      sym_heredoc_body,
  [91951] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(683), 1,
      anon_sym_RBRACE,
    STATE(2917), 1,
      sym_heredoc_body,
  [91964] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4497), 1,
      anon_sym_end,
    STATE(2918), 1,
      sym_heredoc_body,
  [91977] = 3,
    ACTIONS(71), 1,
      sym_comment,
    STATE(2919), 1,
      sym_heredoc_body,
    ACTIONS(4499), 2,
      sym_constant,
      sym_identifier,
  [91988] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4501), 1,
      anon_sym_end,
    STATE(2920), 1,
      sym_heredoc_body,
  [92001] = 4,
    ACTIONS(5), 1,
      sym__heredoc_body_start,
    ACTIONS(71), 1,
      sym_comment,
    ACTIONS(4503), 1,
      anon_sym_RBRACK,
    STATE(2921), 1,
      sym_heredoc_body,
  [92014] = 1,
    ACTIONS(4505), 1,
      anon_sym_end,
  [92018] = 1,
    ACTIONS(4507), 1,
      anon_sym_EQ,
  [92022] = 1,
    ACTIONS(705), 1,
      anon_sym_RBRACE,
  [92026] = 1,
    ACTIONS(4509), 1,
      anon_sym_EQ,
  [92030] = 1,
    ACTIONS(4511), 1,
      ts_builtin_sym_end,
  [92034] = 1,
    ACTIONS(4513), 1,
      anon_sym_RBRACE,
  [92038] = 1,
    ACTIONS(4515), 1,
      anon_sym_LBRACE,
  [92042] = 1,
    ACTIONS(4517), 1,
      anon_sym_end,
  [92046] = 1,
    ACTIONS(4519), 1,
      anon_sym_RBRACE,
  [92050] = 1,
    ACTIONS(3949), 1,
      anon_sym_end,
  [92054] = 1,
    ACTIONS(4521), 1,
      anon_sym_EQ,
  [92058] = 1,
    ACTIONS(713), 1,
      anon_sym_RBRACE,
  [92062] = 1,
    ACTIONS(4523), 1,
      anon_sym_RPAREN,
  [92066] = 1,
    ACTIONS(4525), 1,
      sym__string_end,
  [92070] = 1,
    ACTIONS(4527), 1,
      anon_sym_RBRACE,
  [92074] = 1,
    ACTIONS(4529), 1,
      anon_sym_EQ,
  [92078] = 1,
    ACTIONS(4531), 1,
      anon_sym_end,
  [92082] = 1,
    ACTIONS(3937), 1,
      anon_sym_end,
  [92086] = 1,
    ACTIONS(3671), 1,
      anon_sym_end,
  [92090] = 1,
    ACTIONS(4533), 1,
      ts_builtin_sym_end,
  [92094] = 1,
    ACTIONS(4535), 1,
      anon_sym_end,
  [92098] = 1,
    ACTIONS(4537), 1,
      anon_sym_end,
  [92102] = 1,
    ACTIONS(4539), 1,
      anon_sym_RBRACE,
  [92106] = 1,
    ACTIONS(4541), 1,
      anon_sym_RBRACK,
  [92110] = 1,
    ACTIONS(4543), 1,
      anon_sym_LBRACE,
  [92114] = 1,
    ACTIONS(4545), 1,
      anon_sym_RPAREN,
  [92118] = 1,
    ACTIONS(711), 1,
      anon_sym_RBRACE,
  [92122] = 1,
    ACTIONS(4547), 1,
      anon_sym_RBRACK,
  [92126] = 1,
    ACTIONS(4549), 1,
      anon_sym_RBRACE,
  [92130] = 1,
    ACTIONS(4551), 1,
      anon_sym_end,
  [92134] = 1,
    ACTIONS(4553), 1,
      anon_sym_end,
  [92138] = 1,
    ACTIONS(4555), 1,
      anon_sym_EQ,
  [92142] = 1,
    ACTIONS(4557), 1,
      anon_sym_RBRACK,
  [92146] = 1,
    ACTIONS(2570), 1,
      anon_sym_COLON,
  [92150] = 1,
    ACTIONS(4559), 1,
      anon_sym_RPAREN,
  [92154] = 1,
    ACTIONS(701), 1,
      anon_sym_RBRACE,
  [92158] = 1,
    ACTIONS(4561), 1,
      anon_sym_RPAREN,
  [92162] = 1,
    ACTIONS(2479), 1,
      anon_sym_COLON,
  [92166] = 1,
    ACTIONS(4563), 1,
      anon_sym_EQ,
  [92170] = 1,
    ACTIONS(4565), 1,
      anon_sym_EQ,
  [92174] = 1,
    ACTIONS(3589), 1,
      anon_sym_end,
  [92178] = 1,
    ACTIONS(4567), 1,
      anon_sym_RPAREN,
  [92182] = 1,
    ACTIONS(4569), 1,
      anon_sym_RBRACE,
  [92186] = 1,
    ACTIONS(4571), 1,
      anon_sym_RPAREN,
  [92190] = 1,
    ACTIONS(4573), 1,
      sym__string_end,
};

static uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(941)] = 0,
  [SMALL_STATE(942)] = 74,
  [SMALL_STATE(943)] = 148,
  [SMALL_STATE(944)] = 222,
  [SMALL_STATE(945)] = 296,
  [SMALL_STATE(946)] = 370,
  [SMALL_STATE(947)] = 444,
  [SMALL_STATE(948)] = 518,
  [SMALL_STATE(949)] = 592,
  [SMALL_STATE(950)] = 666,
  [SMALL_STATE(951)] = 740,
  [SMALL_STATE(952)] = 814,
  [SMALL_STATE(953)] = 895,
  [SMALL_STATE(954)] = 978,
  [SMALL_STATE(955)] = 1062,
  [SMALL_STATE(956)] = 1142,
  [SMALL_STATE(957)] = 1224,
  [SMALL_STATE(958)] = 1303,
  [SMALL_STATE(959)] = 1380,
  [SMALL_STATE(960)] = 1457,
  [SMALL_STATE(961)] = 1528,
  [SMALL_STATE(962)] = 1607,
  [SMALL_STATE(963)] = 1682,
  [SMALL_STATE(964)] = 1753,
  [SMALL_STATE(965)] = 1832,
  [SMALL_STATE(966)] = 1903,
  [SMALL_STATE(967)] = 1982,
  [SMALL_STATE(968)] = 2053,
  [SMALL_STATE(969)] = 2130,
  [SMALL_STATE(970)] = 2201,
  [SMALL_STATE(971)] = 2272,
  [SMALL_STATE(972)] = 2340,
  [SMALL_STATE(973)] = 2408,
  [SMALL_STATE(974)] = 2478,
  [SMALL_STATE(975)] = 2546,
  [SMALL_STATE(976)] = 2624,
  [SMALL_STATE(977)] = 2706,
  [SMALL_STATE(978)] = 2776,
  [SMALL_STATE(979)] = 2852,
  [SMALL_STATE(980)] = 2920,
  [SMALL_STATE(981)] = 2994,
  [SMALL_STATE(982)] = 3062,
  [SMALL_STATE(983)] = 3136,
  [SMALL_STATE(984)] = 3204,
  [SMALL_STATE(985)] = 3280,
  [SMALL_STATE(986)] = 3350,
  [SMALL_STATE(987)] = 3426,
  [SMALL_STATE(988)] = 3500,
  [SMALL_STATE(989)] = 3570,
  [SMALL_STATE(990)] = 3640,
  [SMALL_STATE(991)] = 3710,
  [SMALL_STATE(992)] = 3780,
  [SMALL_STATE(993)] = 3847,
  [SMALL_STATE(994)] = 3914,
  [SMALL_STATE(995)] = 3983,
  [SMALL_STATE(996)] = 4052,
  [SMALL_STATE(997)] = 4125,
  [SMALL_STATE(998)] = 4198,
  [SMALL_STATE(999)] = 4267,
  [SMALL_STATE(1000)] = 4340,
  [SMALL_STATE(1001)] = 4413,
  [SMALL_STATE(1002)] = 4480,
  [SMALL_STATE(1003)] = 4549,
  [SMALL_STATE(1004)] = 4616,
  [SMALL_STATE(1005)] = 4683,
  [SMALL_STATE(1006)] = 4750,
  [SMALL_STATE(1007)] = 4817,
  [SMALL_STATE(1008)] = 4884,
  [SMALL_STATE(1009)] = 4951,
  [SMALL_STATE(1010)] = 5018,
  [SMALL_STATE(1011)] = 5087,
  [SMALL_STATE(1012)] = 5154,
  [SMALL_STATE(1013)] = 5221,
  [SMALL_STATE(1014)] = 5288,
  [SMALL_STATE(1015)] = 5355,
  [SMALL_STATE(1016)] = 5422,
  [SMALL_STATE(1017)] = 5491,
  [SMALL_STATE(1018)] = 5558,
  [SMALL_STATE(1019)] = 5627,
  [SMALL_STATE(1020)] = 5696,
  [SMALL_STATE(1021)] = 5769,
  [SMALL_STATE(1022)] = 5838,
  [SMALL_STATE(1023)] = 5905,
  [SMALL_STATE(1024)] = 5972,
  [SMALL_STATE(1025)] = 6041,
  [SMALL_STATE(1026)] = 6114,
  [SMALL_STATE(1027)] = 6183,
  [SMALL_STATE(1028)] = 6256,
  [SMALL_STATE(1029)] = 6333,
  [SMALL_STATE(1030)] = 6400,
  [SMALL_STATE(1031)] = 6467,
  [SMALL_STATE(1032)] = 6534,
  [SMALL_STATE(1033)] = 6601,
  [SMALL_STATE(1034)] = 6669,
  [SMALL_STATE(1035)] = 6737,
  [SMALL_STATE(1036)] = 6807,
  [SMALL_STATE(1037)] = 6875,
  [SMALL_STATE(1038)] = 6943,
  [SMALL_STATE(1039)] = 7011,
  [SMALL_STATE(1040)] = 7077,
  [SMALL_STATE(1041)] = 7145,
  [SMALL_STATE(1042)] = 7217,
  [SMALL_STATE(1043)] = 7285,
  [SMALL_STATE(1044)] = 7351,
  [SMALL_STATE(1045)] = 7419,
  [SMALL_STATE(1046)] = 7485,
  [SMALL_STATE(1047)] = 7553,
  [SMALL_STATE(1048)] = 7619,
  [SMALL_STATE(1049)] = 7685,
  [SMALL_STATE(1050)] = 7751,
  [SMALL_STATE(1051)] = 7821,
  [SMALL_STATE(1052)] = 7887,
  [SMALL_STATE(1053)] = 7953,
  [SMALL_STATE(1054)] = 8029,
  [SMALL_STATE(1055)] = 8095,
  [SMALL_STATE(1056)] = 8161,
  [SMALL_STATE(1057)] = 8231,
  [SMALL_STATE(1058)] = 8299,
  [SMALL_STATE(1059)] = 8365,
  [SMALL_STATE(1060)] = 8433,
  [SMALL_STATE(1061)] = 8501,
  [SMALL_STATE(1062)] = 8569,
  [SMALL_STATE(1063)] = 8637,
  [SMALL_STATE(1064)] = 8705,
  [SMALL_STATE(1065)] = 8773,
  [SMALL_STATE(1066)] = 8841,
  [SMALL_STATE(1067)] = 8907,
  [SMALL_STATE(1068)] = 8975,
  [SMALL_STATE(1069)] = 9041,
  [SMALL_STATE(1070)] = 9107,
  [SMALL_STATE(1071)] = 9173,
  [SMALL_STATE(1072)] = 9240,
  [SMALL_STATE(1073)] = 9307,
  [SMALL_STATE(1074)] = 9374,
  [SMALL_STATE(1075)] = 9441,
  [SMALL_STATE(1076)] = 9508,
  [SMALL_STATE(1077)] = 9575,
  [SMALL_STATE(1078)] = 9642,
  [SMALL_STATE(1079)] = 9709,
  [SMALL_STATE(1080)] = 9776,
  [SMALL_STATE(1081)] = 9843,
  [SMALL_STATE(1082)] = 9910,
  [SMALL_STATE(1083)] = 9977,
  [SMALL_STATE(1084)] = 10044,
  [SMALL_STATE(1085)] = 10111,
  [SMALL_STATE(1086)] = 10178,
  [SMALL_STATE(1087)] = 10245,
  [SMALL_STATE(1088)] = 10312,
  [SMALL_STATE(1089)] = 10379,
  [SMALL_STATE(1090)] = 10446,
  [SMALL_STATE(1091)] = 10513,
  [SMALL_STATE(1092)] = 10580,
  [SMALL_STATE(1093)] = 10647,
  [SMALL_STATE(1094)] = 10714,
  [SMALL_STATE(1095)] = 10785,
  [SMALL_STATE(1096)] = 10852,
  [SMALL_STATE(1097)] = 10919,
  [SMALL_STATE(1098)] = 10986,
  [SMALL_STATE(1099)] = 11053,
  [SMALL_STATE(1100)] = 11120,
  [SMALL_STATE(1101)] = 11187,
  [SMALL_STATE(1102)] = 11254,
  [SMALL_STATE(1103)] = 11321,
  [SMALL_STATE(1104)] = 11388,
  [SMALL_STATE(1105)] = 11455,
  [SMALL_STATE(1106)] = 11522,
  [SMALL_STATE(1107)] = 11589,
  [SMALL_STATE(1108)] = 11656,
  [SMALL_STATE(1109)] = 11723,
  [SMALL_STATE(1110)] = 11790,
  [SMALL_STATE(1111)] = 11857,
  [SMALL_STATE(1112)] = 11930,
  [SMALL_STATE(1113)] = 11997,
  [SMALL_STATE(1114)] = 12064,
  [SMALL_STATE(1115)] = 12131,
  [SMALL_STATE(1116)] = 12198,
  [SMALL_STATE(1117)] = 12265,
  [SMALL_STATE(1118)] = 12332,
  [SMALL_STATE(1119)] = 12399,
  [SMALL_STATE(1120)] = 12466,
  [SMALL_STATE(1121)] = 12533,
  [SMALL_STATE(1122)] = 12604,
  [SMALL_STATE(1123)] = 12671,
  [SMALL_STATE(1124)] = 12738,
  [SMALL_STATE(1125)] = 12805,
  [SMALL_STATE(1126)] = 12872,
  [SMALL_STATE(1127)] = 12949,
  [SMALL_STATE(1128)] = 13016,
  [SMALL_STATE(1129)] = 13083,
  [SMALL_STATE(1130)] = 13150,
  [SMALL_STATE(1131)] = 13217,
  [SMALL_STATE(1132)] = 13284,
  [SMALL_STATE(1133)] = 13351,
  [SMALL_STATE(1134)] = 13418,
  [SMALL_STATE(1135)] = 13485,
  [SMALL_STATE(1136)] = 13552,
  [SMALL_STATE(1137)] = 13619,
  [SMALL_STATE(1138)] = 13686,
  [SMALL_STATE(1139)] = 13753,
  [SMALL_STATE(1140)] = 13820,
  [SMALL_STATE(1141)] = 13887,
  [SMALL_STATE(1142)] = 13954,
  [SMALL_STATE(1143)] = 14021,
  [SMALL_STATE(1144)] = 14088,
  [SMALL_STATE(1145)] = 14155,
  [SMALL_STATE(1146)] = 14222,
  [SMALL_STATE(1147)] = 14289,
  [SMALL_STATE(1148)] = 14356,
  [SMALL_STATE(1149)] = 14423,
  [SMALL_STATE(1150)] = 14490,
  [SMALL_STATE(1151)] = 14557,
  [SMALL_STATE(1152)] = 14624,
  [SMALL_STATE(1153)] = 14691,
  [SMALL_STATE(1154)] = 14758,
  [SMALL_STATE(1155)] = 14825,
  [SMALL_STATE(1156)] = 14892,
  [SMALL_STATE(1157)] = 14959,
  [SMALL_STATE(1158)] = 15026,
  [SMALL_STATE(1159)] = 15093,
  [SMALL_STATE(1160)] = 15160,
  [SMALL_STATE(1161)] = 15227,
  [SMALL_STATE(1162)] = 15294,
  [SMALL_STATE(1163)] = 15361,
  [SMALL_STATE(1164)] = 15428,
  [SMALL_STATE(1165)] = 15495,
  [SMALL_STATE(1166)] = 15562,
  [SMALL_STATE(1167)] = 15637,
  [SMALL_STATE(1168)] = 15704,
  [SMALL_STATE(1169)] = 15771,
  [SMALL_STATE(1170)] = 15838,
  [SMALL_STATE(1171)] = 15905,
  [SMALL_STATE(1172)] = 15972,
  [SMALL_STATE(1173)] = 16039,
  [SMALL_STATE(1174)] = 16106,
  [SMALL_STATE(1175)] = 16179,
  [SMALL_STATE(1176)] = 16246,
  [SMALL_STATE(1177)] = 16318,
  [SMALL_STATE(1178)] = 16390,
  [SMALL_STATE(1179)] = 16464,
  [SMALL_STATE(1180)] = 16535,
  [SMALL_STATE(1181)] = 16608,
  [SMALL_STATE(1182)] = 16679,
  [SMALL_STATE(1183)] = 16750,
  [SMALL_STATE(1184)] = 16823,
  [SMALL_STATE(1185)] = 16894,
  [SMALL_STATE(1186)] = 16958,
  [SMALL_STATE(1187)] = 17022,
  [SMALL_STATE(1188)] = 17086,
  [SMALL_STATE(1189)] = 17152,
  [SMALL_STATE(1190)] = 17216,
  [SMALL_STATE(1191)] = 17280,
  [SMALL_STATE(1192)] = 17350,
  [SMALL_STATE(1193)] = 17414,
  [SMALL_STATE(1194)] = 17508,
  [SMALL_STATE(1195)] = 17580,
  [SMALL_STATE(1196)] = 17644,
  [SMALL_STATE(1197)] = 17708,
  [SMALL_STATE(1198)] = 17772,
  [SMALL_STATE(1199)] = 17836,
  [SMALL_STATE(1200)] = 17902,
  [SMALL_STATE(1201)] = 17966,
  [SMALL_STATE(1202)] = 18030,
  [SMALL_STATE(1203)] = 18094,
  [SMALL_STATE(1204)] = 18158,
  [SMALL_STATE(1205)] = 18222,
  [SMALL_STATE(1206)] = 18290,
  [SMALL_STATE(1207)] = 18354,
  [SMALL_STATE(1208)] = 18418,
  [SMALL_STATE(1209)] = 18483,
  [SMALL_STATE(1210)] = 18568,
  [SMALL_STATE(1211)] = 18659,
  [SMALL_STATE(1212)] = 18722,
  [SMALL_STATE(1213)] = 18789,
  [SMALL_STATE(1214)] = 18860,
  [SMALL_STATE(1215)] = 18953,
  [SMALL_STATE(1216)] = 19018,
  [SMALL_STATE(1217)] = 19109,
  [SMALL_STATE(1218)] = 19200,
  [SMALL_STATE(1219)] = 19267,
  [SMALL_STATE(1220)] = 19332,
  [SMALL_STATE(1221)] = 19403,
  [SMALL_STATE(1222)] = 19494,
  [SMALL_STATE(1223)] = 19559,
  [SMALL_STATE(1224)] = 19632,
  [SMALL_STATE(1225)] = 19697,
  [SMALL_STATE(1226)] = 19768,
  [SMALL_STATE(1227)] = 19845,
  [SMALL_STATE(1228)] = 19914,
  [SMALL_STATE(1229)] = 20003,
  [SMALL_STATE(1230)] = 20066,
  [SMALL_STATE(1231)] = 20129,
  [SMALL_STATE(1232)] = 20220,
  [SMALL_STATE(1233)] = 20311,
  [SMALL_STATE(1234)] = 20396,
  [SMALL_STATE(1235)] = 20487,
  [SMALL_STATE(1236)] = 20580,
  [SMALL_STATE(1237)] = 20649,
  [SMALL_STATE(1238)] = 20720,
  [SMALL_STATE(1239)] = 20783,
  [SMALL_STATE(1240)] = 20873,
  [SMALL_STATE(1241)] = 20963,
  [SMALL_STATE(1242)] = 21033,
  [SMALL_STATE(1243)] = 21099,
  [SMALL_STATE(1244)] = 21189,
  [SMALL_STATE(1245)] = 21253,
  [SMALL_STATE(1246)] = 21343,
  [SMALL_STATE(1247)] = 21433,
  [SMALL_STATE(1248)] = 21505,
  [SMALL_STATE(1249)] = 21569,
  [SMALL_STATE(1250)] = 21653,
  [SMALL_STATE(1251)] = 21717,
  [SMALL_STATE(1252)] = 21787,
  [SMALL_STATE(1253)] = 21879,
  [SMALL_STATE(1254)] = 21955,
  [SMALL_STATE(1255)] = 22021,
  [SMALL_STATE(1256)] = 22111,
  [SMALL_STATE(1257)] = 22199,
  [SMALL_STATE(1258)] = 22289,
  [SMALL_STATE(1259)] = 22379,
  [SMALL_STATE(1260)] = 22443,
  [SMALL_STATE(1261)] = 22533,
  [SMALL_STATE(1262)] = 22623,
  [SMALL_STATE(1263)] = 22687,
  [SMALL_STATE(1264)] = 22777,
  [SMALL_STATE(1265)] = 22861,
  [SMALL_STATE(1266)] = 22929,
  [SMALL_STATE(1267)] = 23020,
  [SMALL_STATE(1268)] = 23109,
  [SMALL_STATE(1269)] = 23180,
  [SMALL_STATE(1270)] = 23269,
  [SMALL_STATE(1271)] = 23332,
  [SMALL_STATE(1272)] = 23421,
  [SMALL_STATE(1273)] = 23486,
  [SMALL_STATE(1274)] = 23549,
  [SMALL_STATE(1275)] = 23612,
  [SMALL_STATE(1276)] = 23703,
  [SMALL_STATE(1277)] = 23792,
  [SMALL_STATE(1278)] = 23861,
  [SMALL_STATE(1279)] = 23936,
  [SMALL_STATE(1280)] = 24023,
  [SMALL_STATE(1281)] = 24112,
  [SMALL_STATE(1282)] = 24201,
  [SMALL_STATE(1283)] = 24290,
  [SMALL_STATE(1284)] = 24355,
  [SMALL_STATE(1285)] = 24448,
  [SMALL_STATE(1286)] = 24541,
  [SMALL_STATE(1287)] = 24604,
  [SMALL_STATE(1288)] = 24687,
  [SMALL_STATE(1289)] = 24750,
  [SMALL_STATE(1290)] = 24815,
  [SMALL_STATE(1291)] = 24882,
  [SMALL_STATE(1292)] = 24973,
  [SMALL_STATE(1293)] = 25056,
  [SMALL_STATE(1294)] = 25118,
  [SMALL_STATE(1295)] = 25206,
  [SMALL_STATE(1296)] = 25294,
  [SMALL_STATE(1297)] = 25360,
  [SMALL_STATE(1298)] = 25448,
  [SMALL_STATE(1299)] = 25536,
  [SMALL_STATE(1300)] = 25624,
  [SMALL_STATE(1301)] = 25712,
  [SMALL_STATE(1302)] = 25800,
  [SMALL_STATE(1303)] = 25888,
  [SMALL_STATE(1304)] = 25970,
  [SMALL_STATE(1305)] = 26058,
  [SMALL_STATE(1306)] = 26146,
  [SMALL_STATE(1307)] = 26210,
  [SMALL_STATE(1308)] = 26272,
  [SMALL_STATE(1309)] = 26360,
  [SMALL_STATE(1310)] = 26430,
  [SMALL_STATE(1311)] = 26492,
  [SMALL_STATE(1312)] = 26580,
  [SMALL_STATE(1313)] = 26648,
  [SMALL_STATE(1314)] = 26730,
  [SMALL_STATE(1315)] = 26804,
  [SMALL_STATE(1316)] = 26890,
  [SMALL_STATE(1317)] = 26953,
  [SMALL_STATE(1318)] = 27034,
  [SMALL_STATE(1319)] = 27121,
  [SMALL_STATE(1320)] = 27208,
  [SMALL_STATE(1321)] = 27289,
  [SMALL_STATE(1322)] = 27356,
  [SMALL_STATE(1323)] = 27417,
  [SMALL_STATE(1324)] = 27478,
  [SMALL_STATE(1325)] = 27551,
  [SMALL_STATE(1326)] = 27638,
  [SMALL_STATE(1327)] = 27707,
  [SMALL_STATE(1328)] = 27774,
  [SMALL_STATE(1329)] = 27861,
  [SMALL_STATE(1330)] = 27922,
  [SMALL_STATE(1331)] = 28009,
  [SMALL_STATE(1332)] = 28076,
  [SMALL_STATE(1333)] = 28161,
  [SMALL_STATE(1334)] = 28224,
  [SMALL_STATE(1335)] = 28311,
  [SMALL_STATE(1336)] = 28398,
  [SMALL_STATE(1337)] = 28463,
  [SMALL_STATE(1338)] = 28523,
  [SMALL_STATE(1339)] = 28583,
  [SMALL_STATE(1340)] = 28661,
  [SMALL_STATE(1341)] = 28739,
  [SMALL_STATE(1342)] = 28817,
  [SMALL_STATE(1343)] = 28875,
  [SMALL_STATE(1344)] = 28936,
  [SMALL_STATE(1345)] = 28995,
  [SMALL_STATE(1346)] = 29054,
  [SMALL_STATE(1347)] = 29113,
  [SMALL_STATE(1348)] = 29172,
  [SMALL_STATE(1349)] = 29233,
  [SMALL_STATE(1350)] = 29296,
  [SMALL_STATE(1351)] = 29357,
  [SMALL_STATE(1352)] = 29418,
  [SMALL_STATE(1353)] = 29479,
  [SMALL_STATE(1354)] = 29534,
  [SMALL_STATE(1355)] = 29597,
  [SMALL_STATE(1356)] = 29652,
  [SMALL_STATE(1357)] = 29711,
  [SMALL_STATE(1358)] = 29772,
  [SMALL_STATE(1359)] = 29831,
  [SMALL_STATE(1360)] = 29892,
  [SMALL_STATE(1361)] = 29967,
  [SMALL_STATE(1362)] = 30028,
  [SMALL_STATE(1363)] = 30084,
  [SMALL_STATE(1364)] = 30142,
  [SMALL_STATE(1365)] = 30198,
  [SMALL_STATE(1366)] = 30254,
  [SMALL_STATE(1367)] = 30312,
  [SMALL_STATE(1368)] = 30368,
  [SMALL_STATE(1369)] = 30432,
  [SMALL_STATE(1370)] = 30488,
  [SMALL_STATE(1371)] = 30543,
  [SMALL_STATE(1372)] = 30596,
  [SMALL_STATE(1373)] = 30649,
  [SMALL_STATE(1374)] = 30702,
  [SMALL_STATE(1375)] = 30755,
  [SMALL_STATE(1376)] = 30808,
  [SMALL_STATE(1377)] = 30861,
  [SMALL_STATE(1378)] = 30914,
  [SMALL_STATE(1379)] = 30969,
  [SMALL_STATE(1380)] = 31022,
  [SMALL_STATE(1381)] = 31075,
  [SMALL_STATE(1382)] = 31128,
  [SMALL_STATE(1383)] = 31181,
  [SMALL_STATE(1384)] = 31234,
  [SMALL_STATE(1385)] = 31287,
  [SMALL_STATE(1386)] = 31340,
  [SMALL_STATE(1387)] = 31393,
  [SMALL_STATE(1388)] = 31446,
  [SMALL_STATE(1389)] = 31499,
  [SMALL_STATE(1390)] = 31552,
  [SMALL_STATE(1391)] = 31605,
  [SMALL_STATE(1392)] = 31658,
  [SMALL_STATE(1393)] = 31711,
  [SMALL_STATE(1394)] = 31764,
  [SMALL_STATE(1395)] = 31817,
  [SMALL_STATE(1396)] = 31872,
  [SMALL_STATE(1397)] = 31925,
  [SMALL_STATE(1398)] = 31978,
  [SMALL_STATE(1399)] = 32031,
  [SMALL_STATE(1400)] = 32084,
  [SMALL_STATE(1401)] = 32137,
  [SMALL_STATE(1402)] = 32190,
  [SMALL_STATE(1403)] = 32243,
  [SMALL_STATE(1404)] = 32298,
  [SMALL_STATE(1405)] = 32353,
  [SMALL_STATE(1406)] = 32408,
  [SMALL_STATE(1407)] = 32461,
  [SMALL_STATE(1408)] = 32516,
  [SMALL_STATE(1409)] = 32571,
  [SMALL_STATE(1410)] = 32626,
  [SMALL_STATE(1411)] = 32679,
  [SMALL_STATE(1412)] = 32732,
  [SMALL_STATE(1413)] = 32787,
  [SMALL_STATE(1414)] = 32848,
  [SMALL_STATE(1415)] = 32901,
  [SMALL_STATE(1416)] = 32956,
  [SMALL_STATE(1417)] = 33011,
  [SMALL_STATE(1418)] = 33066,
  [SMALL_STATE(1419)] = 33121,
  [SMALL_STATE(1420)] = 33176,
  [SMALL_STATE(1421)] = 33231,
  [SMALL_STATE(1422)] = 33286,
  [SMALL_STATE(1423)] = 33341,
  [SMALL_STATE(1424)] = 33396,
  [SMALL_STATE(1425)] = 33451,
  [SMALL_STATE(1426)] = 33506,
  [SMALL_STATE(1427)] = 33561,
  [SMALL_STATE(1428)] = 33616,
  [SMALL_STATE(1429)] = 33671,
  [SMALL_STATE(1430)] = 33724,
  [SMALL_STATE(1431)] = 33779,
  [SMALL_STATE(1432)] = 33832,
  [SMALL_STATE(1433)] = 33885,
  [SMALL_STATE(1434)] = 33938,
  [SMALL_STATE(1435)] = 33993,
  [SMALL_STATE(1436)] = 34048,
  [SMALL_STATE(1437)] = 34103,
  [SMALL_STATE(1438)] = 34158,
  [SMALL_STATE(1439)] = 34211,
  [SMALL_STATE(1440)] = 34264,
  [SMALL_STATE(1441)] = 34317,
  [SMALL_STATE(1442)] = 34372,
  [SMALL_STATE(1443)] = 34427,
  [SMALL_STATE(1444)] = 34480,
  [SMALL_STATE(1445)] = 34535,
  [SMALL_STATE(1446)] = 34590,
  [SMALL_STATE(1447)] = 34645,
  [SMALL_STATE(1448)] = 34700,
  [SMALL_STATE(1449)] = 34755,
  [SMALL_STATE(1450)] = 34810,
  [SMALL_STATE(1451)] = 34865,
  [SMALL_STATE(1452)] = 34920,
  [SMALL_STATE(1453)] = 34975,
  [SMALL_STATE(1454)] = 35030,
  [SMALL_STATE(1455)] = 35083,
  [SMALL_STATE(1456)] = 35136,
  [SMALL_STATE(1457)] = 35191,
  [SMALL_STATE(1458)] = 35244,
  [SMALL_STATE(1459)] = 35297,
  [SMALL_STATE(1460)] = 35350,
  [SMALL_STATE(1461)] = 35403,
  [SMALL_STATE(1462)] = 35458,
  [SMALL_STATE(1463)] = 35513,
  [SMALL_STATE(1464)] = 35566,
  [SMALL_STATE(1465)] = 35621,
  [SMALL_STATE(1466)] = 35676,
  [SMALL_STATE(1467)] = 35731,
  [SMALL_STATE(1468)] = 35786,
  [SMALL_STATE(1469)] = 35841,
  [SMALL_STATE(1470)] = 35896,
  [SMALL_STATE(1471)] = 35951,
  [SMALL_STATE(1472)] = 36004,
  [SMALL_STATE(1473)] = 36059,
  [SMALL_STATE(1474)] = 36114,
  [SMALL_STATE(1475)] = 36167,
  [SMALL_STATE(1476)] = 36220,
  [SMALL_STATE(1477)] = 36273,
  [SMALL_STATE(1478)] = 36326,
  [SMALL_STATE(1479)] = 36379,
  [SMALL_STATE(1480)] = 36432,
  [SMALL_STATE(1481)] = 36487,
  [SMALL_STATE(1482)] = 36542,
  [SMALL_STATE(1483)] = 36597,
  [SMALL_STATE(1484)] = 36650,
  [SMALL_STATE(1485)] = 36703,
  [SMALL_STATE(1486)] = 36758,
  [SMALL_STATE(1487)] = 36813,
  [SMALL_STATE(1488)] = 36866,
  [SMALL_STATE(1489)] = 36921,
  [SMALL_STATE(1490)] = 36974,
  [SMALL_STATE(1491)] = 37027,
  [SMALL_STATE(1492)] = 37082,
  [SMALL_STATE(1493)] = 37137,
  [SMALL_STATE(1494)] = 37192,
  [SMALL_STATE(1495)] = 37247,
  [SMALL_STATE(1496)] = 37302,
  [SMALL_STATE(1497)] = 37357,
  [SMALL_STATE(1498)] = 37410,
  [SMALL_STATE(1499)] = 37463,
  [SMALL_STATE(1500)] = 37518,
  [SMALL_STATE(1501)] = 37571,
  [SMALL_STATE(1502)] = 37624,
  [SMALL_STATE(1503)] = 37677,
  [SMALL_STATE(1504)] = 37732,
  [SMALL_STATE(1505)] = 37787,
  [SMALL_STATE(1506)] = 37842,
  [SMALL_STATE(1507)] = 37897,
  [SMALL_STATE(1508)] = 37950,
  [SMALL_STATE(1509)] = 38003,
  [SMALL_STATE(1510)] = 38058,
  [SMALL_STATE(1511)] = 38113,
  [SMALL_STATE(1512)] = 38166,
  [SMALL_STATE(1513)] = 38221,
  [SMALL_STATE(1514)] = 38274,
  [SMALL_STATE(1515)] = 38329,
  [SMALL_STATE(1516)] = 38384,
  [SMALL_STATE(1517)] = 38437,
  [SMALL_STATE(1518)] = 38492,
  [SMALL_STATE(1519)] = 38547,
  [SMALL_STATE(1520)] = 38600,
  [SMALL_STATE(1521)] = 38653,
  [SMALL_STATE(1522)] = 38706,
  [SMALL_STATE(1523)] = 38759,
  [SMALL_STATE(1524)] = 38812,
  [SMALL_STATE(1525)] = 38865,
  [SMALL_STATE(1526)] = 38918,
  [SMALL_STATE(1527)] = 38971,
  [SMALL_STATE(1528)] = 39024,
  [SMALL_STATE(1529)] = 39077,
  [SMALL_STATE(1530)] = 39130,
  [SMALL_STATE(1531)] = 39183,
  [SMALL_STATE(1532)] = 39236,
  [SMALL_STATE(1533)] = 39289,
  [SMALL_STATE(1534)] = 39342,
  [SMALL_STATE(1535)] = 39395,
  [SMALL_STATE(1536)] = 39450,
  [SMALL_STATE(1537)] = 39505,
  [SMALL_STATE(1538)] = 39560,
  [SMALL_STATE(1539)] = 39615,
  [SMALL_STATE(1540)] = 39670,
  [SMALL_STATE(1541)] = 39725,
  [SMALL_STATE(1542)] = 39780,
  [SMALL_STATE(1543)] = 39835,
  [SMALL_STATE(1544)] = 39890,
  [SMALL_STATE(1545)] = 39945,
  [SMALL_STATE(1546)] = 39998,
  [SMALL_STATE(1547)] = 40051,
  [SMALL_STATE(1548)] = 40106,
  [SMALL_STATE(1549)] = 40167,
  [SMALL_STATE(1550)] = 40222,
  [SMALL_STATE(1551)] = 40277,
  [SMALL_STATE(1552)] = 40332,
  [SMALL_STATE(1553)] = 40385,
  [SMALL_STATE(1554)] = 40440,
  [SMALL_STATE(1555)] = 40508,
  [SMALL_STATE(1556)] = 40576,
  [SMALL_STATE(1557)] = 40638,
  [SMALL_STATE(1558)] = 40706,
  [SMALL_STATE(1559)] = 40766,
  [SMALL_STATE(1560)] = 40828,
  [SMALL_STATE(1561)] = 40896,
  [SMALL_STATE(1562)] = 40964,
  [SMALL_STATE(1563)] = 41032,
  [SMALL_STATE(1564)] = 41097,
  [SMALL_STATE(1565)] = 41162,
  [SMALL_STATE(1566)] = 41245,
  [SMALL_STATE(1567)] = 41310,
  [SMALL_STATE(1568)] = 41375,
  [SMALL_STATE(1569)] = 41460,
  [SMALL_STATE(1570)] = 41525,
  [SMALL_STATE(1571)] = 41582,
  [SMALL_STATE(1572)] = 41647,
  [SMALL_STATE(1573)] = 41712,
  [SMALL_STATE(1574)] = 41777,
  [SMALL_STATE(1575)] = 41832,
  [SMALL_STATE(1576)] = 41887,
  [SMALL_STATE(1577)] = 41952,
  [SMALL_STATE(1578)] = 42017,
  [SMALL_STATE(1579)] = 42102,
  [SMALL_STATE(1580)] = 42182,
  [SMALL_STATE(1581)] = 42234,
  [SMALL_STATE(1582)] = 42286,
  [SMALL_STATE(1583)] = 42344,
  [SMALL_STATE(1584)] = 42404,
  [SMALL_STATE(1585)] = 42464,
  [SMALL_STATE(1586)] = 42526,
  [SMALL_STATE(1587)] = 42586,
  [SMALL_STATE(1588)] = 42640,
  [SMALL_STATE(1589)] = 42720,
  [SMALL_STATE(1590)] = 42785,
  [SMALL_STATE(1591)] = 42842,
  [SMALL_STATE(1592)] = 42905,
  [SMALL_STATE(1593)] = 42980,
  [SMALL_STATE(1594)] = 43057,
  [SMALL_STATE(1595)] = 43106,
  [SMALL_STATE(1596)] = 43159,
  [SMALL_STATE(1597)] = 43230,
  [SMALL_STATE(1598)] = 43285,
  [SMALL_STATE(1599)] = 43356,
  [SMALL_STATE(1600)] = 43433,
  [SMALL_STATE(1601)] = 43510,
  [SMALL_STATE(1602)] = 43589,
  [SMALL_STATE(1603)] = 43668,
  [SMALL_STATE(1604)] = 43719,
  [SMALL_STATE(1605)] = 43792,
  [SMALL_STATE(1606)] = 43849,
  [SMALL_STATE(1607)] = 43922,
  [SMALL_STATE(1608)] = 44001,
  [SMALL_STATE(1609)] = 44078,
  [SMALL_STATE(1610)] = 44137,
  [SMALL_STATE(1611)] = 44216,
  [SMALL_STATE(1612)] = 44269,
  [SMALL_STATE(1613)] = 44330,
  [SMALL_STATE(1614)] = 44383,
  [SMALL_STATE(1615)] = 44438,
  [SMALL_STATE(1616)] = 44515,
  [SMALL_STATE(1617)] = 44592,
  [SMALL_STATE(1618)] = 44643,
  [SMALL_STATE(1619)] = 44694,
  [SMALL_STATE(1620)] = 44771,
  [SMALL_STATE(1621)] = 44828,
  [SMALL_STATE(1622)] = 44881,
  [SMALL_STATE(1623)] = 44932,
  [SMALL_STATE(1624)] = 45009,
  [SMALL_STATE(1625)] = 45068,
  [SMALL_STATE(1626)] = 45117,
  [SMALL_STATE(1627)] = 45196,
  [SMALL_STATE(1628)] = 45251,
  [SMALL_STATE(1629)] = 45330,
  [SMALL_STATE(1630)] = 45387,
  [SMALL_STATE(1631)] = 45438,
  [SMALL_STATE(1632)] = 45489,
  [SMALL_STATE(1633)] = 45540,
  [SMALL_STATE(1634)] = 45621,
  [SMALL_STATE(1635)] = 45672,
  [SMALL_STATE(1636)] = 45725,
  [SMALL_STATE(1637)] = 45776,
  [SMALL_STATE(1638)] = 45855,
  [SMALL_STATE(1639)] = 45904,
  [SMALL_STATE(1640)] = 45983,
  [SMALL_STATE(1641)] = 46033,
  [SMALL_STATE(1642)] = 46103,
  [SMALL_STATE(1643)] = 46157,
  [SMALL_STATE(1644)] = 46227,
  [SMALL_STATE(1645)] = 46303,
  [SMALL_STATE(1646)] = 46379,
  [SMALL_STATE(1647)] = 46455,
  [SMALL_STATE(1648)] = 46529,
  [SMALL_STATE(1649)] = 46581,
  [SMALL_STATE(1650)] = 46639,
  [SMALL_STATE(1651)] = 46701,
  [SMALL_STATE(1652)] = 46777,
  [SMALL_STATE(1653)] = 46853,
  [SMALL_STATE(1654)] = 46929,
  [SMALL_STATE(1655)] = 47005,
  [SMALL_STATE(1656)] = 47081,
  [SMALL_STATE(1657)] = 47157,
  [SMALL_STATE(1658)] = 47207,
  [SMALL_STATE(1659)] = 47283,
  [SMALL_STATE(1660)] = 47335,
  [SMALL_STATE(1661)] = 47385,
  [SMALL_STATE(1662)] = 47461,
  [SMALL_STATE(1663)] = 47519,
  [SMALL_STATE(1664)] = 47571,
  [SMALL_STATE(1665)] = 47621,
  [SMALL_STATE(1666)] = 47699,
  [SMALL_STATE(1667)] = 47749,
  [SMALL_STATE(1668)] = 47805,
  [SMALL_STATE(1669)] = 47854,
  [SMALL_STATE(1670)] = 47929,
  [SMALL_STATE(1671)] = 47978,
  [SMALL_STATE(1672)] = 48027,
  [SMALL_STATE(1673)] = 48078,
  [SMALL_STATE(1674)] = 48129,
  [SMALL_STATE(1675)] = 48206,
  [SMALL_STATE(1676)] = 48257,
  [SMALL_STATE(1677)] = 48306,
  [SMALL_STATE(1678)] = 48363,
  [SMALL_STATE(1679)] = 48412,
  [SMALL_STATE(1680)] = 48467,
  [SMALL_STATE(1681)] = 48528,
  [SMALL_STATE(1682)] = 48601,
  [SMALL_STATE(1683)] = 48676,
  [SMALL_STATE(1684)] = 48725,
  [SMALL_STATE(1685)] = 48774,
  [SMALL_STATE(1686)] = 48843,
  [SMALL_STATE(1687)] = 48892,
  [SMALL_STATE(1688)] = 48967,
  [SMALL_STATE(1689)] = 49020,
  [SMALL_STATE(1690)] = 49089,
  [SMALL_STATE(1691)] = 49138,
  [SMALL_STATE(1692)] = 49213,
  [SMALL_STATE(1693)] = 49288,
  [SMALL_STATE(1694)] = 49365,
  [SMALL_STATE(1695)] = 49444,
  [SMALL_STATE(1696)] = 49493,
  [SMALL_STATE(1697)] = 49568,
  [SMALL_STATE(1698)] = 49647,
  [SMALL_STATE(1699)] = 49724,
  [SMALL_STATE(1700)] = 49773,
  [SMALL_STATE(1701)] = 49822,
  [SMALL_STATE(1702)] = 49897,
  [SMALL_STATE(1703)] = 49946,
  [SMALL_STATE(1704)] = 50020,
  [SMALL_STATE(1705)] = 50094,
  [SMALL_STATE(1706)] = 50144,
  [SMALL_STATE(1707)] = 50218,
  [SMALL_STATE(1708)] = 50292,
  [SMALL_STATE(1709)] = 50366,
  [SMALL_STATE(1710)] = 50416,
  [SMALL_STATE(1711)] = 50490,
  [SMALL_STATE(1712)] = 50540,
  [SMALL_STATE(1713)] = 50618,
  [SMALL_STATE(1714)] = 50670,
  [SMALL_STATE(1715)] = 50748,
  [SMALL_STATE(1716)] = 50822,
  [SMALL_STATE(1717)] = 50896,
  [SMALL_STATE(1718)] = 50970,
  [SMALL_STATE(1719)] = 51038,
  [SMALL_STATE(1720)] = 51090,
  [SMALL_STATE(1721)] = 51158,
  [SMALL_STATE(1722)] = 51232,
  [SMALL_STATE(1723)] = 51304,
  [SMALL_STATE(1724)] = 51378,
  [SMALL_STATE(1725)] = 51438,
  [SMALL_STATE(1726)] = 51492,
  [SMALL_STATE(1727)] = 51540,
  [SMALL_STATE(1728)] = 51596,
  [SMALL_STATE(1729)] = 51644,
  [SMALL_STATE(1730)] = 51694,
  [SMALL_STATE(1731)] = 51742,
  [SMALL_STATE(1732)] = 51794,
  [SMALL_STATE(1733)] = 51844,
  [SMALL_STATE(1734)] = 51918,
  [SMALL_STATE(1735)] = 52000,
  [SMALL_STATE(1736)] = 52051,
  [SMALL_STATE(1737)] = 52124,
  [SMALL_STATE(1738)] = 52199,
  [SMALL_STATE(1739)] = 52272,
  [SMALL_STATE(1740)] = 52333,
  [SMALL_STATE(1741)] = 52388,
  [SMALL_STATE(1742)] = 52439,
  [SMALL_STATE(1743)] = 52488,
  [SMALL_STATE(1744)] = 52561,
  [SMALL_STATE(1745)] = 52618,
  [SMALL_STATE(1746)] = 52667,
  [SMALL_STATE(1747)] = 52718,
  [SMALL_STATE(1748)] = 52771,
  [SMALL_STATE(1749)] = 52840,
  [SMALL_STATE(1750)] = 52893,
  [SMALL_STATE(1751)] = 52966,
  [SMALL_STATE(1752)] = 53019,
  [SMALL_STATE(1753)] = 53094,
  [SMALL_STATE(1754)] = 53169,
  [SMALL_STATE(1755)] = 53242,
  [SMALL_STATE(1756)] = 53315,
  [SMALL_STATE(1757)] = 53390,
  [SMALL_STATE(1758)] = 53439,
  [SMALL_STATE(1759)] = 53492,
  [SMALL_STATE(1760)] = 53545,
  [SMALL_STATE(1761)] = 53598,
  [SMALL_STATE(1762)] = 53671,
  [SMALL_STATE(1763)] = 53746,
  [SMALL_STATE(1764)] = 53795,
  [SMALL_STATE(1765)] = 53846,
  [SMALL_STATE(1766)] = 53929,
  [SMALL_STATE(1767)] = 54006,
  [SMALL_STATE(1768)] = 54089,
  [SMALL_STATE(1769)] = 54136,
  [SMALL_STATE(1770)] = 54189,
  [SMALL_STATE(1771)] = 54272,
  [SMALL_STATE(1772)] = 54321,
  [SMALL_STATE(1773)] = 54390,
  [SMALL_STATE(1774)] = 54473,
  [SMALL_STATE(1775)] = 54552,
  [SMALL_STATE(1776)] = 54629,
  [SMALL_STATE(1777)] = 54678,
  [SMALL_STATE(1778)] = 54727,
  [SMALL_STATE(1779)] = 54796,
  [SMALL_STATE(1780)] = 54871,
  [SMALL_STATE(1781)] = 54924,
  [SMALL_STATE(1782)] = 54973,
  [SMALL_STATE(1783)] = 55030,
  [SMALL_STATE(1784)] = 55079,
  [SMALL_STATE(1785)] = 55134,
  [SMALL_STATE(1786)] = 55195,
  [SMALL_STATE(1787)] = 55270,
  [SMALL_STATE(1788)] = 55345,
  [SMALL_STATE(1789)] = 55420,
  [SMALL_STATE(1790)] = 55469,
  [SMALL_STATE(1791)] = 55546,
  [SMALL_STATE(1792)] = 55599,
  [SMALL_STATE(1793)] = 55674,
  [SMALL_STATE(1794)] = 55747,
  [SMALL_STATE(1795)] = 55800,
  [SMALL_STATE(1796)] = 55877,
  [SMALL_STATE(1797)] = 55944,
  [SMALL_STATE(1798)] = 55995,
  [SMALL_STATE(1799)] = 56062,
  [SMALL_STATE(1800)] = 56135,
  [SMALL_STATE(1801)] = 56206,
  [SMALL_STATE(1802)] = 56289,
  [SMALL_STATE(1803)] = 56372,
  [SMALL_STATE(1804)] = 56431,
  [SMALL_STATE(1805)] = 56484,
  [SMALL_STATE(1806)] = 56531,
  [SMALL_STATE(1807)] = 56586,
  [SMALL_STATE(1808)] = 56633,
  [SMALL_STATE(1809)] = 56684,
  [SMALL_STATE(1810)] = 56733,
  [SMALL_STATE(1811)] = 56808,
  [SMALL_STATE(1812)] = 56883,
  [SMALL_STATE(1813)] = 56958,
  [SMALL_STATE(1814)] = 57035,
  [SMALL_STATE(1815)] = 57104,
  [SMALL_STATE(1816)] = 57179,
  [SMALL_STATE(1817)] = 57228,
  [SMALL_STATE(1818)] = 57277,
  [SMALL_STATE(1819)] = 57328,
  [SMALL_STATE(1820)] = 57381,
  [SMALL_STATE(1821)] = 57434,
  [SMALL_STATE(1822)] = 57506,
  [SMALL_STATE(1823)] = 57582,
  [SMALL_STATE(1824)] = 57658,
  [SMALL_STATE(1825)] = 57706,
  [SMALL_STATE(1826)] = 57754,
  [SMALL_STATE(1827)] = 57828,
  [SMALL_STATE(1828)] = 57878,
  [SMALL_STATE(1829)] = 57952,
  [SMALL_STATE(1830)] = 58000,
  [SMALL_STATE(1831)] = 58076,
  [SMALL_STATE(1832)] = 58150,
  [SMALL_STATE(1833)] = 58224,
  [SMALL_STATE(1834)] = 58304,
  [SMALL_STATE(1835)] = 58384,
  [SMALL_STATE(1836)] = 58462,
  [SMALL_STATE(1837)] = 58510,
  [SMALL_STATE(1838)] = 58584,
  [SMALL_STATE(1839)] = 58658,
  [SMALL_STATE(1840)] = 58708,
  [SMALL_STATE(1841)] = 58784,
  [SMALL_STATE(1842)] = 58858,
  [SMALL_STATE(1843)] = 58932,
  [SMALL_STATE(1844)] = 59010,
  [SMALL_STATE(1845)] = 59084,
  [SMALL_STATE(1846)] = 59152,
  [SMALL_STATE(1847)] = 59204,
  [SMALL_STATE(1848)] = 59272,
  [SMALL_STATE(1849)] = 59346,
  [SMALL_STATE(1850)] = 59418,
  [SMALL_STATE(1851)] = 59478,
  [SMALL_STATE(1852)] = 59532,
  [SMALL_STATE(1853)] = 59580,
  [SMALL_STATE(1854)] = 59636,
  [SMALL_STATE(1855)] = 59684,
  [SMALL_STATE(1856)] = 59734,
  [SMALL_STATE(1857)] = 59808,
  [SMALL_STATE(1858)] = 59858,
  [SMALL_STATE(1859)] = 59908,
  [SMALL_STATE(1860)] = 59982,
  [SMALL_STATE(1861)] = 60032,
  [SMALL_STATE(1862)] = 60106,
  [SMALL_STATE(1863)] = 60180,
  [SMALL_STATE(1864)] = 60254,
  [SMALL_STATE(1865)] = 60310,
  [SMALL_STATE(1866)] = 60360,
  [SMALL_STATE(1867)] = 60436,
  [SMALL_STATE(1868)] = 60496,
  [SMALL_STATE(1869)] = 60570,
  [SMALL_STATE(1870)] = 60644,
  [SMALL_STATE(1871)] = 60692,
  [SMALL_STATE(1872)] = 60760,
  [SMALL_STATE(1873)] = 60834,
  [SMALL_STATE(1874)] = 60886,
  [SMALL_STATE(1875)] = 60954,
  [SMALL_STATE(1876)] = 61028,
  [SMALL_STATE(1877)] = 61096,
  [SMALL_STATE(1878)] = 61168,
  [SMALL_STATE(1879)] = 61244,
  [SMALL_STATE(1880)] = 61318,
  [SMALL_STATE(1881)] = 61392,
  [SMALL_STATE(1882)] = 61452,
  [SMALL_STATE(1883)] = 61506,
  [SMALL_STATE(1884)] = 61554,
  [SMALL_STATE(1885)] = 61610,
  [SMALL_STATE(1886)] = 61658,
  [SMALL_STATE(1887)] = 61708,
  [SMALL_STATE(1888)] = 61776,
  [SMALL_STATE(1889)] = 61828,
  [SMALL_STATE(1890)] = 61878,
  [SMALL_STATE(1891)] = 61926,
  [SMALL_STATE(1892)] = 61980,
  [SMALL_STATE(1893)] = 62028,
  [SMALL_STATE(1894)] = 62077,
  [SMALL_STATE(1895)] = 62150,
  [SMALL_STATE(1896)] = 62223,
  [SMALL_STATE(1897)] = 62296,
  [SMALL_STATE(1898)] = 62345,
  [SMALL_STATE(1899)] = 62398,
  [SMALL_STATE(1900)] = 62449,
  [SMALL_STATE(1901)] = 62496,
  [SMALL_STATE(1902)] = 62571,
  [SMALL_STATE(1903)] = 62648,
  [SMALL_STATE(1904)] = 62721,
  [SMALL_STATE(1905)] = 62798,
  [SMALL_STATE(1906)] = 62871,
  [SMALL_STATE(1907)] = 62924,
  [SMALL_STATE(1908)] = 63001,
  [SMALL_STATE(1909)] = 63048,
  [SMALL_STATE(1910)] = 63123,
  [SMALL_STATE(1911)] = 63170,
  [SMALL_STATE(1912)] = 63245,
  [SMALL_STATE(1913)] = 63320,
  [SMALL_STATE(1914)] = 63397,
  [SMALL_STATE(1915)] = 63470,
  [SMALL_STATE(1916)] = 63547,
  [SMALL_STATE(1917)] = 63594,
  [SMALL_STATE(1918)] = 63649,
  [SMALL_STATE(1919)] = 63698,
  [SMALL_STATE(1920)] = 63747,
  [SMALL_STATE(1921)] = 63794,
  [SMALL_STATE(1922)] = 63869,
  [SMALL_STATE(1923)] = 63942,
  [SMALL_STATE(1924)] = 63991,
  [SMALL_STATE(1925)] = 64058,
  [SMALL_STATE(1926)] = 64131,
  [SMALL_STATE(1927)] = 64180,
  [SMALL_STATE(1928)] = 64247,
  [SMALL_STATE(1929)] = 64320,
  [SMALL_STATE(1930)] = 64395,
  [SMALL_STATE(1931)] = 64468,
  [SMALL_STATE(1932)] = 64519,
  [SMALL_STATE(1933)] = 64566,
  [SMALL_STATE(1934)] = 64643,
  [SMALL_STATE(1935)] = 64714,
  [SMALL_STATE(1936)] = 64791,
  [SMALL_STATE(1937)] = 64850,
  [SMALL_STATE(1938)] = 64917,
  [SMALL_STATE(1939)] = 64992,
  [SMALL_STATE(1940)] = 65065,
  [SMALL_STATE(1941)] = 65136,
  [SMALL_STATE(1942)] = 65195,
  [SMALL_STATE(1943)] = 65262,
  [SMALL_STATE(1944)] = 65309,
  [SMALL_STATE(1945)] = 65384,
  [SMALL_STATE(1946)] = 65461,
  [SMALL_STATE(1947)] = 65516,
  [SMALL_STATE(1948)] = 65563,
  [SMALL_STATE(1949)] = 65636,
  [SMALL_STATE(1950)] = 65713,
  [SMALL_STATE(1951)] = 65759,
  [SMALL_STATE(1952)] = 65805,
  [SMALL_STATE(1953)] = 65853,
  [SMALL_STATE(1954)] = 65907,
  [SMALL_STATE(1955)] = 65959,
  [SMALL_STATE(1956)] = 66013,
  [SMALL_STATE(1957)] = 66059,
  [SMALL_STATE(1958)] = 66131,
  [SMALL_STATE(1959)] = 66179,
  [SMALL_STATE(1960)] = 66253,
  [SMALL_STATE(1961)] = 66299,
  [SMALL_STATE(1962)] = 66373,
  [SMALL_STATE(1963)] = 66425,
  [SMALL_STATE(1964)] = 66483,
  [SMALL_STATE(1965)] = 66553,
  [SMALL_STATE(1966)] = 66625,
  [SMALL_STATE(1967)] = 66691,
  [SMALL_STATE(1968)] = 66741,
  [SMALL_STATE(1969)] = 66813,
  [SMALL_STATE(1970)] = 66871,
  [SMALL_STATE(1971)] = 66943,
  [SMALL_STATE(1972)] = 67009,
  [SMALL_STATE(1973)] = 67083,
  [SMALL_STATE(1974)] = 67155,
  [SMALL_STATE(1975)] = 67227,
  [SMALL_STATE(1976)] = 67297,
  [SMALL_STATE(1977)] = 67343,
  [SMALL_STATE(1978)] = 67415,
  [SMALL_STATE(1979)] = 67487,
  [SMALL_STATE(1980)] = 67553,
  [SMALL_STATE(1981)] = 67603,
  [SMALL_STATE(1982)] = 67677,
  [SMALL_STATE(1983)] = 67743,
  [SMALL_STATE(1984)] = 67789,
  [SMALL_STATE(1985)] = 67861,
  [SMALL_STATE(1986)] = 67933,
  [SMALL_STATE(1987)] = 68005,
  [SMALL_STATE(1988)] = 68079,
  [SMALL_STATE(1989)] = 68151,
  [SMALL_STATE(1990)] = 68225,
  [SMALL_STATE(1991)] = 68299,
  [SMALL_STATE(1992)] = 68364,
  [SMALL_STATE(1993)] = 68437,
  [SMALL_STATE(1994)] = 68510,
  [SMALL_STATE(1995)] = 68567,
  [SMALL_STATE(1996)] = 68618,
  [SMALL_STATE(1997)] = 68663,
  [SMALL_STATE(1998)] = 68734,
  [SMALL_STATE(1999)] = 68807,
  [SMALL_STATE(2000)] = 68878,
  [SMALL_STATE(2001)] = 68931,
  [SMALL_STATE(2002)] = 69004,
  [SMALL_STATE(2003)] = 69069,
  [SMALL_STATE(2004)] = 69118,
  [SMALL_STATE(2005)] = 69183,
  [SMALL_STATE(2006)] = 69254,
  [SMALL_STATE(2007)] = 69323,
  [SMALL_STATE(2008)] = 69396,
  [SMALL_STATE(2009)] = 69467,
  [SMALL_STATE(2010)] = 69524,
  [SMALL_STATE(2011)] = 69589,
  [SMALL_STATE(2012)] = 69640,
  [SMALL_STATE(2013)] = 69711,
  [SMALL_STATE(2014)] = 69756,
  [SMALL_STATE(2015)] = 69805,
  [SMALL_STATE(2016)] = 69878,
  [SMALL_STATE(2017)] = 69923,
  [SMALL_STATE(2018)] = 69976,
  [SMALL_STATE(2019)] = 70021,
  [SMALL_STATE(2020)] = 70068,
  [SMALL_STATE(2021)] = 70141,
  [SMALL_STATE(2022)] = 70212,
  [SMALL_STATE(2023)] = 70285,
  [SMALL_STATE(2024)] = 70356,
  [SMALL_STATE(2025)] = 70421,
  [SMALL_STATE(2026)] = 70470,
  [SMALL_STATE(2027)] = 70543,
  [SMALL_STATE(2028)] = 70614,
  [SMALL_STATE(2029)] = 70683,
  [SMALL_STATE(2030)] = 70754,
  [SMALL_STATE(2031)] = 70827,
  [SMALL_STATE(2032)] = 70884,
  [SMALL_STATE(2033)] = 70935,
  [SMALL_STATE(2034)] = 70980,
  [SMALL_STATE(2035)] = 71033,
  [SMALL_STATE(2036)] = 71078,
  [SMALL_STATE(2037)] = 71125,
  [SMALL_STATE(2038)] = 71198,
  [SMALL_STATE(2039)] = 71271,
  [SMALL_STATE(2040)] = 71344,
  [SMALL_STATE(2041)] = 71417,
  [SMALL_STATE(2042)] = 71488,
  [SMALL_STATE(2043)] = 71559,
  [SMALL_STATE(2044)] = 71604,
  [SMALL_STATE(2045)] = 71651,
  [SMALL_STATE(2046)] = 71722,
  [SMALL_STATE(2047)] = 71795,
  [SMALL_STATE(2048)] = 71868,
  [SMALL_STATE(2049)] = 71913,
  [SMALL_STATE(2050)] = 71982,
  [SMALL_STATE(2051)] = 72053,
  [SMALL_STATE(2052)] = 72118,
  [SMALL_STATE(2053)] = 72191,
  [SMALL_STATE(2054)] = 72262,
  [SMALL_STATE(2055)] = 72335,
  [SMALL_STATE(2056)] = 72380,
  [SMALL_STATE(2057)] = 72453,
  [SMALL_STATE(2058)] = 72526,
  [SMALL_STATE(2059)] = 72599,
  [SMALL_STATE(2060)] = 72672,
  [SMALL_STATE(2061)] = 72743,
  [SMALL_STATE(2062)] = 72813,
  [SMALL_STATE(2063)] = 72883,
  [SMALL_STATE(2064)] = 72953,
  [SMALL_STATE(2065)] = 73023,
  [SMALL_STATE(2066)] = 73093,
  [SMALL_STATE(2067)] = 73163,
  [SMALL_STATE(2068)] = 73200,
  [SMALL_STATE(2069)] = 73237,
  [SMALL_STATE(2070)] = 73274,
  [SMALL_STATE(2071)] = 73311,
  [SMALL_STATE(2072)] = 73348,
  [SMALL_STATE(2073)] = 73385,
  [SMALL_STATE(2074)] = 73422,
  [SMALL_STATE(2075)] = 73459,
  [SMALL_STATE(2076)] = 73496,
  [SMALL_STATE(2077)] = 73533,
  [SMALL_STATE(2078)] = 73574,
  [SMALL_STATE(2079)] = 73611,
  [SMALL_STATE(2080)] = 73654,
  [SMALL_STATE(2081)] = 73693,
  [SMALL_STATE(2082)] = 73732,
  [SMALL_STATE(2083)] = 73766,
  [SMALL_STATE(2084)] = 73800,
  [SMALL_STATE(2085)] = 73833,
  [SMALL_STATE(2086)] = 73868,
  [SMALL_STATE(2087)] = 73905,
  [SMALL_STATE(2088)] = 73942,
  [SMALL_STATE(2089)] = 73977,
  [SMALL_STATE(2090)] = 74012,
  [SMALL_STATE(2091)] = 74047,
  [SMALL_STATE(2092)] = 74082,
  [SMALL_STATE(2093)] = 74115,
  [SMALL_STATE(2094)] = 74150,
  [SMALL_STATE(2095)] = 74185,
  [SMALL_STATE(2096)] = 74218,
  [SMALL_STATE(2097)] = 74249,
  [SMALL_STATE(2098)] = 74280,
  [SMALL_STATE(2099)] = 74311,
  [SMALL_STATE(2100)] = 74342,
  [SMALL_STATE(2101)] = 74373,
  [SMALL_STATE(2102)] = 74404,
  [SMALL_STATE(2103)] = 74435,
  [SMALL_STATE(2104)] = 74466,
  [SMALL_STATE(2105)] = 74496,
  [SMALL_STATE(2106)] = 74526,
  [SMALL_STATE(2107)] = 74557,
  [SMALL_STATE(2108)] = 74586,
  [SMALL_STATE(2109)] = 74635,
  [SMALL_STATE(2110)] = 74664,
  [SMALL_STATE(2111)] = 74697,
  [SMALL_STATE(2112)] = 74728,
  [SMALL_STATE(2113)] = 74759,
  [SMALL_STATE(2114)] = 74788,
  [SMALL_STATE(2115)] = 74817,
  [SMALL_STATE(2116)] = 74866,
  [SMALL_STATE(2117)] = 74895,
  [SMALL_STATE(2118)] = 74926,
  [SMALL_STATE(2119)] = 74957,
  [SMALL_STATE(2120)] = 74988,
  [SMALL_STATE(2121)] = 75019,
  [SMALL_STATE(2122)] = 75050,
  [SMALL_STATE(2123)] = 75079,
  [SMALL_STATE(2124)] = 75128,
  [SMALL_STATE(2125)] = 75161,
  [SMALL_STATE(2126)] = 75211,
  [SMALL_STATE(2127)] = 75259,
  [SMALL_STATE(2128)] = 75307,
  [SMALL_STATE(2129)] = 75353,
  [SMALL_STATE(2130)] = 75401,
  [SMALL_STATE(2131)] = 75451,
  [SMALL_STATE(2132)] = 75498,
  [SMALL_STATE(2133)] = 75545,
  [SMALL_STATE(2134)] = 75592,
  [SMALL_STATE(2135)] = 75639,
  [SMALL_STATE(2136)] = 75684,
  [SMALL_STATE(2137)] = 75731,
  [SMALL_STATE(2138)] = 75772,
  [SMALL_STATE(2139)] = 75819,
  [SMALL_STATE(2140)] = 75866,
  [SMALL_STATE(2141)] = 75907,
  [SMALL_STATE(2142)] = 75951,
  [SMALL_STATE(2143)] = 75995,
  [SMALL_STATE(2144)] = 76033,
  [SMALL_STATE(2145)] = 76077,
  [SMALL_STATE(2146)] = 76121,
  [SMALL_STATE(2147)] = 76165,
  [SMALL_STATE(2148)] = 76209,
  [SMALL_STATE(2149)] = 76253,
  [SMALL_STATE(2150)] = 76294,
  [SMALL_STATE(2151)] = 76335,
  [SMALL_STATE(2152)] = 76376,
  [SMALL_STATE(2153)] = 76417,
  [SMALL_STATE(2154)] = 76454,
  [SMALL_STATE(2155)] = 76495,
  [SMALL_STATE(2156)] = 76527,
  [SMALL_STATE(2157)] = 76559,
  [SMALL_STATE(2158)] = 76583,
  [SMALL_STATE(2159)] = 76607,
  [SMALL_STATE(2160)] = 76639,
  [SMALL_STATE(2161)] = 76671,
  [SMALL_STATE(2162)] = 76696,
  [SMALL_STATE(2163)] = 76719,
  [SMALL_STATE(2164)] = 76742,
  [SMALL_STATE(2165)] = 76771,
  [SMALL_STATE(2166)] = 76800,
  [SMALL_STATE(2167)] = 76825,
  [SMALL_STATE(2168)] = 76848,
  [SMALL_STATE(2169)] = 76871,
  [SMALL_STATE(2170)] = 76894,
  [SMALL_STATE(2171)] = 76917,
  [SMALL_STATE(2172)] = 76942,
  [SMALL_STATE(2173)] = 76967,
  [SMALL_STATE(2174)] = 76992,
  [SMALL_STATE(2175)] = 77017,
  [SMALL_STATE(2176)] = 77042,
  [SMALL_STATE(2177)] = 77065,
  [SMALL_STATE(2178)] = 77094,
  [SMALL_STATE(2179)] = 77119,
  [SMALL_STATE(2180)] = 77146,
  [SMALL_STATE(2181)] = 77171,
  [SMALL_STATE(2182)] = 77198,
  [SMALL_STATE(2183)] = 77229,
  [SMALL_STATE(2184)] = 77254,
  [SMALL_STATE(2185)] = 77277,
  [SMALL_STATE(2186)] = 77306,
  [SMALL_STATE(2187)] = 77333,
  [SMALL_STATE(2188)] = 77362,
  [SMALL_STATE(2189)] = 77384,
  [SMALL_STATE(2190)] = 77420,
  [SMALL_STATE(2191)] = 77442,
  [SMALL_STATE(2192)] = 77480,
  [SMALL_STATE(2193)] = 77508,
  [SMALL_STATE(2194)] = 77546,
  [SMALL_STATE(2195)] = 77568,
  [SMALL_STATE(2196)] = 77590,
  [SMALL_STATE(2197)] = 77628,
  [SMALL_STATE(2198)] = 77664,
  [SMALL_STATE(2199)] = 77702,
  [SMALL_STATE(2200)] = 77740,
  [SMALL_STATE(2201)] = 77762,
  [SMALL_STATE(2202)] = 77800,
  [SMALL_STATE(2203)] = 77838,
  [SMALL_STATE(2204)] = 77858,
  [SMALL_STATE(2205)] = 77880,
  [SMALL_STATE(2206)] = 77902,
  [SMALL_STATE(2207)] = 77924,
  [SMALL_STATE(2208)] = 77946,
  [SMALL_STATE(2209)] = 77972,
  [SMALL_STATE(2210)] = 77991,
  [SMALL_STATE(2211)] = 78010,
  [SMALL_STATE(2212)] = 78029,
  [SMALL_STATE(2213)] = 78048,
  [SMALL_STATE(2214)] = 78067,
  [SMALL_STATE(2215)] = 78086,
  [SMALL_STATE(2216)] = 78109,
  [SMALL_STATE(2217)] = 78132,
  [SMALL_STATE(2218)] = 78151,
  [SMALL_STATE(2219)] = 78170,
  [SMALL_STATE(2220)] = 78189,
  [SMALL_STATE(2221)] = 78214,
  [SMALL_STATE(2222)] = 78233,
  [SMALL_STATE(2223)] = 78268,
  [SMALL_STATE(2224)] = 78289,
  [SMALL_STATE(2225)] = 78324,
  [SMALL_STATE(2226)] = 78343,
  [SMALL_STATE(2227)] = 78362,
  [SMALL_STATE(2228)] = 78396,
  [SMALL_STATE(2229)] = 78426,
  [SMALL_STATE(2230)] = 78456,
  [SMALL_STATE(2231)] = 78476,
  [SMALL_STATE(2232)] = 78496,
  [SMALL_STATE(2233)] = 78520,
  [SMALL_STATE(2234)] = 78550,
  [SMALL_STATE(2235)] = 78584,
  [SMALL_STATE(2236)] = 78618,
  [SMALL_STATE(2237)] = 78648,
  [SMALL_STATE(2238)] = 78682,
  [SMALL_STATE(2239)] = 78716,
  [SMALL_STATE(2240)] = 78736,
  [SMALL_STATE(2241)] = 78770,
  [SMALL_STATE(2242)] = 78790,
  [SMALL_STATE(2243)] = 78820,
  [SMALL_STATE(2244)] = 78854,
  [SMALL_STATE(2245)] = 78876,
  [SMALL_STATE(2246)] = 78910,
  [SMALL_STATE(2247)] = 78940,
  [SMALL_STATE(2248)] = 78970,
  [SMALL_STATE(2249)] = 79000,
  [SMALL_STATE(2250)] = 79030,
  [SMALL_STATE(2251)] = 79064,
  [SMALL_STATE(2252)] = 79094,
  [SMALL_STATE(2253)] = 79126,
  [SMALL_STATE(2254)] = 79146,
  [SMALL_STATE(2255)] = 79176,
  [SMALL_STATE(2256)] = 79196,
  [SMALL_STATE(2257)] = 79226,
  [SMALL_STATE(2258)] = 79246,
  [SMALL_STATE(2259)] = 79266,
  [SMALL_STATE(2260)] = 79296,
  [SMALL_STATE(2261)] = 79326,
  [SMALL_STATE(2262)] = 79356,
  [SMALL_STATE(2263)] = 79390,
  [SMALL_STATE(2264)] = 79418,
  [SMALL_STATE(2265)] = 79452,
  [SMALL_STATE(2266)] = 79480,
  [SMALL_STATE(2267)] = 79510,
  [SMALL_STATE(2268)] = 79530,
  [SMALL_STATE(2269)] = 79560,
  [SMALL_STATE(2270)] = 79594,
  [SMALL_STATE(2271)] = 79628,
  [SMALL_STATE(2272)] = 79648,
  [SMALL_STATE(2273)] = 79682,
  [SMALL_STATE(2274)] = 79716,
  [SMALL_STATE(2275)] = 79746,
  [SMALL_STATE(2276)] = 79780,
  [SMALL_STATE(2277)] = 79800,
  [SMALL_STATE(2278)] = 79834,
  [SMALL_STATE(2279)] = 79868,
  [SMALL_STATE(2280)] = 79898,
  [SMALL_STATE(2281)] = 79918,
  [SMALL_STATE(2282)] = 79952,
  [SMALL_STATE(2283)] = 79984,
  [SMALL_STATE(2284)] = 80004,
  [SMALL_STATE(2285)] = 80038,
  [SMALL_STATE(2286)] = 80058,
  [SMALL_STATE(2287)] = 80078,
  [SMALL_STATE(2288)] = 80108,
  [SMALL_STATE(2289)] = 80142,
  [SMALL_STATE(2290)] = 80170,
  [SMALL_STATE(2291)] = 80200,
  [SMALL_STATE(2292)] = 80220,
  [SMALL_STATE(2293)] = 80248,
  [SMALL_STATE(2294)] = 80278,
  [SMALL_STATE(2295)] = 80312,
  [SMALL_STATE(2296)] = 80332,
  [SMALL_STATE(2297)] = 80366,
  [SMALL_STATE(2298)] = 80396,
  [SMALL_STATE(2299)] = 80426,
  [SMALL_STATE(2300)] = 80460,
  [SMALL_STATE(2301)] = 80491,
  [SMALL_STATE(2302)] = 80508,
  [SMALL_STATE(2303)] = 80527,
  [SMALL_STATE(2304)] = 80558,
  [SMALL_STATE(2305)] = 80585,
  [SMALL_STATE(2306)] = 80612,
  [SMALL_STATE(2307)] = 80639,
  [SMALL_STATE(2308)] = 80668,
  [SMALL_STATE(2309)] = 80691,
  [SMALL_STATE(2310)] = 80718,
  [SMALL_STATE(2311)] = 80749,
  [SMALL_STATE(2312)] = 80778,
  [SMALL_STATE(2313)] = 80809,
  [SMALL_STATE(2314)] = 80840,
  [SMALL_STATE(2315)] = 80871,
  [SMALL_STATE(2316)] = 80890,
  [SMALL_STATE(2317)] = 80909,
  [SMALL_STATE(2318)] = 80928,
  [SMALL_STATE(2319)] = 80945,
  [SMALL_STATE(2320)] = 80964,
  [SMALL_STATE(2321)] = 80983,
  [SMALL_STATE(2322)] = 81000,
  [SMALL_STATE(2323)] = 81031,
  [SMALL_STATE(2324)] = 81052,
  [SMALL_STATE(2325)] = 81071,
  [SMALL_STATE(2326)] = 81102,
  [SMALL_STATE(2327)] = 81129,
  [SMALL_STATE(2328)] = 81158,
  [SMALL_STATE(2329)] = 81189,
  [SMALL_STATE(2330)] = 81220,
  [SMALL_STATE(2331)] = 81241,
  [SMALL_STATE(2332)] = 81258,
  [SMALL_STATE(2333)] = 81289,
  [SMALL_STATE(2334)] = 81320,
  [SMALL_STATE(2335)] = 81351,
  [SMALL_STATE(2336)] = 81372,
  [SMALL_STATE(2337)] = 81401,
  [SMALL_STATE(2338)] = 81418,
  [SMALL_STATE(2339)] = 81435,
  [SMALL_STATE(2340)] = 81462,
  [SMALL_STATE(2341)] = 81489,
  [SMALL_STATE(2342)] = 81520,
  [SMALL_STATE(2343)] = 81547,
  [SMALL_STATE(2344)] = 81572,
  [SMALL_STATE(2345)] = 81591,
  [SMALL_STATE(2346)] = 81622,
  [SMALL_STATE(2347)] = 81643,
  [SMALL_STATE(2348)] = 81660,
  [SMALL_STATE(2349)] = 81687,
  [SMALL_STATE(2350)] = 81718,
  [SMALL_STATE(2351)] = 81743,
  [SMALL_STATE(2352)] = 81770,
  [SMALL_STATE(2353)] = 81789,
  [SMALL_STATE(2354)] = 81808,
  [SMALL_STATE(2355)] = 81827,
  [SMALL_STATE(2356)] = 81850,
  [SMALL_STATE(2357)] = 81881,
  [SMALL_STATE(2358)] = 81900,
  [SMALL_STATE(2359)] = 81931,
  [SMALL_STATE(2360)] = 81962,
  [SMALL_STATE(2361)] = 81993,
  [SMALL_STATE(2362)] = 82024,
  [SMALL_STATE(2363)] = 82043,
  [SMALL_STATE(2364)] = 82070,
  [SMALL_STATE(2365)] = 82097,
  [SMALL_STATE(2366)] = 82116,
  [SMALL_STATE(2367)] = 82135,
  [SMALL_STATE(2368)] = 82160,
  [SMALL_STATE(2369)] = 82183,
  [SMALL_STATE(2370)] = 82214,
  [SMALL_STATE(2371)] = 82242,
  [SMALL_STATE(2372)] = 82268,
  [SMALL_STATE(2373)] = 82296,
  [SMALL_STATE(2374)] = 82324,
  [SMALL_STATE(2375)] = 82346,
  [SMALL_STATE(2376)] = 82372,
  [SMALL_STATE(2377)] = 82398,
  [SMALL_STATE(2378)] = 82420,
  [SMALL_STATE(2379)] = 82446,
  [SMALL_STATE(2380)] = 82472,
  [SMALL_STATE(2381)] = 82498,
  [SMALL_STATE(2382)] = 82514,
  [SMALL_STATE(2383)] = 82530,
  [SMALL_STATE(2384)] = 82556,
  [SMALL_STATE(2385)] = 82582,
  [SMALL_STATE(2386)] = 82610,
  [SMALL_STATE(2387)] = 82636,
  [SMALL_STATE(2388)] = 82664,
  [SMALL_STATE(2389)] = 82690,
  [SMALL_STATE(2390)] = 82716,
  [SMALL_STATE(2391)] = 82738,
  [SMALL_STATE(2392)] = 82764,
  [SMALL_STATE(2393)] = 82792,
  [SMALL_STATE(2394)] = 82810,
  [SMALL_STATE(2395)] = 82826,
  [SMALL_STATE(2396)] = 82854,
  [SMALL_STATE(2397)] = 82874,
  [SMALL_STATE(2398)] = 82902,
  [SMALL_STATE(2399)] = 82928,
  [SMALL_STATE(2400)] = 82956,
  [SMALL_STATE(2401)] = 82982,
  [SMALL_STATE(2402)] = 83008,
  [SMALL_STATE(2403)] = 83036,
  [SMALL_STATE(2404)] = 83062,
  [SMALL_STATE(2405)] = 83088,
  [SMALL_STATE(2406)] = 83116,
  [SMALL_STATE(2407)] = 83142,
  [SMALL_STATE(2408)] = 83168,
  [SMALL_STATE(2409)] = 83196,
  [SMALL_STATE(2410)] = 83222,
  [SMALL_STATE(2411)] = 83248,
  [SMALL_STATE(2412)] = 83276,
  [SMALL_STATE(2413)] = 83302,
  [SMALL_STATE(2414)] = 83328,
  [SMALL_STATE(2415)] = 83354,
  [SMALL_STATE(2416)] = 83380,
  [SMALL_STATE(2417)] = 83406,
  [SMALL_STATE(2418)] = 83424,
  [SMALL_STATE(2419)] = 83442,
  [SMALL_STATE(2420)] = 83460,
  [SMALL_STATE(2421)] = 83488,
  [SMALL_STATE(2422)] = 83506,
  [SMALL_STATE(2423)] = 83534,
  [SMALL_STATE(2424)] = 83552,
  [SMALL_STATE(2425)] = 83574,
  [SMALL_STATE(2426)] = 83592,
  [SMALL_STATE(2427)] = 83610,
  [SMALL_STATE(2428)] = 83636,
  [SMALL_STATE(2429)] = 83654,
  [SMALL_STATE(2430)] = 83680,
  [SMALL_STATE(2431)] = 83706,
  [SMALL_STATE(2432)] = 83732,
  [SMALL_STATE(2433)] = 83758,
  [SMALL_STATE(2434)] = 83780,
  [SMALL_STATE(2435)] = 83800,
  [SMALL_STATE(2436)] = 83816,
  [SMALL_STATE(2437)] = 83832,
  [SMALL_STATE(2438)] = 83858,
  [SMALL_STATE(2439)] = 83880,
  [SMALL_STATE(2440)] = 83906,
  [SMALL_STATE(2441)] = 83934,
  [SMALL_STATE(2442)] = 83962,
  [SMALL_STATE(2443)] = 83988,
  [SMALL_STATE(2444)] = 84014,
  [SMALL_STATE(2445)] = 84040,
  [SMALL_STATE(2446)] = 84066,
  [SMALL_STATE(2447)] = 84092,
  [SMALL_STATE(2448)] = 84118,
  [SMALL_STATE(2449)] = 84144,
  [SMALL_STATE(2450)] = 84170,
  [SMALL_STATE(2451)] = 84196,
  [SMALL_STATE(2452)] = 84222,
  [SMALL_STATE(2453)] = 84248,
  [SMALL_STATE(2454)] = 84274,
  [SMALL_STATE(2455)] = 84292,
  [SMALL_STATE(2456)] = 84310,
  [SMALL_STATE(2457)] = 84336,
  [SMALL_STATE(2458)] = 84362,
  [SMALL_STATE(2459)] = 84384,
  [SMALL_STATE(2460)] = 84410,
  [SMALL_STATE(2461)] = 84432,
  [SMALL_STATE(2462)] = 84458,
  [SMALL_STATE(2463)] = 84484,
  [SMALL_STATE(2464)] = 84502,
  [SMALL_STATE(2465)] = 84528,
  [SMALL_STATE(2466)] = 84554,
  [SMALL_STATE(2467)] = 84580,
  [SMALL_STATE(2468)] = 84606,
  [SMALL_STATE(2469)] = 84622,
  [SMALL_STATE(2470)] = 84650,
  [SMALL_STATE(2471)] = 84676,
  [SMALL_STATE(2472)] = 84702,
  [SMALL_STATE(2473)] = 84726,
  [SMALL_STATE(2474)] = 84749,
  [SMALL_STATE(2475)] = 84772,
  [SMALL_STATE(2476)] = 84793,
  [SMALL_STATE(2477)] = 84812,
  [SMALL_STATE(2478)] = 84835,
  [SMALL_STATE(2479)] = 84860,
  [SMALL_STATE(2480)] = 84883,
  [SMALL_STATE(2481)] = 84906,
  [SMALL_STATE(2482)] = 84923,
  [SMALL_STATE(2483)] = 84942,
  [SMALL_STATE(2484)] = 84965,
  [SMALL_STATE(2485)] = 84982,
  [SMALL_STATE(2486)] = 85003,
  [SMALL_STATE(2487)] = 85018,
  [SMALL_STATE(2488)] = 85035,
  [SMALL_STATE(2489)] = 85060,
  [SMALL_STATE(2490)] = 85075,
  [SMALL_STATE(2491)] = 85098,
  [SMALL_STATE(2492)] = 85117,
  [SMALL_STATE(2493)] = 85140,
  [SMALL_STATE(2494)] = 85163,
  [SMALL_STATE(2495)] = 85188,
  [SMALL_STATE(2496)] = 85203,
  [SMALL_STATE(2497)] = 85226,
  [SMALL_STATE(2498)] = 85249,
  [SMALL_STATE(2499)] = 85272,
  [SMALL_STATE(2500)] = 85295,
  [SMALL_STATE(2501)] = 85318,
  [SMALL_STATE(2502)] = 85335,
  [SMALL_STATE(2503)] = 85358,
  [SMALL_STATE(2504)] = 85381,
  [SMALL_STATE(2505)] = 85402,
  [SMALL_STATE(2506)] = 85417,
  [SMALL_STATE(2507)] = 85440,
  [SMALL_STATE(2508)] = 85455,
  [SMALL_STATE(2509)] = 85478,
  [SMALL_STATE(2510)] = 85499,
  [SMALL_STATE(2511)] = 85524,
  [SMALL_STATE(2512)] = 85543,
  [SMALL_STATE(2513)] = 85566,
  [SMALL_STATE(2514)] = 85589,
  [SMALL_STATE(2515)] = 85612,
  [SMALL_STATE(2516)] = 85637,
  [SMALL_STATE(2517)] = 85660,
  [SMALL_STATE(2518)] = 85681,
  [SMALL_STATE(2519)] = 85704,
  [SMALL_STATE(2520)] = 85727,
  [SMALL_STATE(2521)] = 85746,
  [SMALL_STATE(2522)] = 85769,
  [SMALL_STATE(2523)] = 85788,
  [SMALL_STATE(2524)] = 85811,
  [SMALL_STATE(2525)] = 85834,
  [SMALL_STATE(2526)] = 85857,
  [SMALL_STATE(2527)] = 85880,
  [SMALL_STATE(2528)] = 85903,
  [SMALL_STATE(2529)] = 85926,
  [SMALL_STATE(2530)] = 85949,
  [SMALL_STATE(2531)] = 85972,
  [SMALL_STATE(2532)] = 85995,
  [SMALL_STATE(2533)] = 86016,
  [SMALL_STATE(2534)] = 86039,
  [SMALL_STATE(2535)] = 86061,
  [SMALL_STATE(2536)] = 86083,
  [SMALL_STATE(2537)] = 86099,
  [SMALL_STATE(2538)] = 86115,
  [SMALL_STATE(2539)] = 86131,
  [SMALL_STATE(2540)] = 86147,
  [SMALL_STATE(2541)] = 86167,
  [SMALL_STATE(2542)] = 86187,
  [SMALL_STATE(2543)] = 86203,
  [SMALL_STATE(2544)] = 86219,
  [SMALL_STATE(2545)] = 86237,
  [SMALL_STATE(2546)] = 86255,
  [SMALL_STATE(2547)] = 86277,
  [SMALL_STATE(2548)] = 86295,
  [SMALL_STATE(2549)] = 86311,
  [SMALL_STATE(2550)] = 86327,
  [SMALL_STATE(2551)] = 86343,
  [SMALL_STATE(2552)] = 86365,
  [SMALL_STATE(2553)] = 86381,
  [SMALL_STATE(2554)] = 86397,
  [SMALL_STATE(2555)] = 86417,
  [SMALL_STATE(2556)] = 86433,
  [SMALL_STATE(2557)] = 86449,
  [SMALL_STATE(2558)] = 86467,
  [SMALL_STATE(2559)] = 86489,
  [SMALL_STATE(2560)] = 86505,
  [SMALL_STATE(2561)] = 86521,
  [SMALL_STATE(2562)] = 86537,
  [SMALL_STATE(2563)] = 86553,
  [SMALL_STATE(2564)] = 86569,
  [SMALL_STATE(2565)] = 86585,
  [SMALL_STATE(2566)] = 86601,
  [SMALL_STATE(2567)] = 86617,
  [SMALL_STATE(2568)] = 86633,
  [SMALL_STATE(2569)] = 86649,
  [SMALL_STATE(2570)] = 86665,
  [SMALL_STATE(2571)] = 86681,
  [SMALL_STATE(2572)] = 86697,
  [SMALL_STATE(2573)] = 86717,
  [SMALL_STATE(2574)] = 86733,
  [SMALL_STATE(2575)] = 86749,
  [SMALL_STATE(2576)] = 86765,
  [SMALL_STATE(2577)] = 86787,
  [SMALL_STATE(2578)] = 86803,
  [SMALL_STATE(2579)] = 86825,
  [SMALL_STATE(2580)] = 86841,
  [SMALL_STATE(2581)] = 86857,
  [SMALL_STATE(2582)] = 86873,
  [SMALL_STATE(2583)] = 86889,
  [SMALL_STATE(2584)] = 86905,
  [SMALL_STATE(2585)] = 86921,
  [SMALL_STATE(2586)] = 86937,
  [SMALL_STATE(2587)] = 86953,
  [SMALL_STATE(2588)] = 86973,
  [SMALL_STATE(2589)] = 86989,
  [SMALL_STATE(2590)] = 87009,
  [SMALL_STATE(2591)] = 87025,
  [SMALL_STATE(2592)] = 87041,
  [SMALL_STATE(2593)] = 87057,
  [SMALL_STATE(2594)] = 87075,
  [SMALL_STATE(2595)] = 87091,
  [SMALL_STATE(2596)] = 87111,
  [SMALL_STATE(2597)] = 87127,
  [SMALL_STATE(2598)] = 87143,
  [SMALL_STATE(2599)] = 87163,
  [SMALL_STATE(2600)] = 87183,
  [SMALL_STATE(2601)] = 87199,
  [SMALL_STATE(2602)] = 87215,
  [SMALL_STATE(2603)] = 87231,
  [SMALL_STATE(2604)] = 87247,
  [SMALL_STATE(2605)] = 87265,
  [SMALL_STATE(2606)] = 87281,
  [SMALL_STATE(2607)] = 87297,
  [SMALL_STATE(2608)] = 87319,
  [SMALL_STATE(2609)] = 87335,
  [SMALL_STATE(2610)] = 87355,
  [SMALL_STATE(2611)] = 87373,
  [SMALL_STATE(2612)] = 87391,
  [SMALL_STATE(2613)] = 87407,
  [SMALL_STATE(2614)] = 87423,
  [SMALL_STATE(2615)] = 87443,
  [SMALL_STATE(2616)] = 87459,
  [SMALL_STATE(2617)] = 87475,
  [SMALL_STATE(2618)] = 87491,
  [SMALL_STATE(2619)] = 87507,
  [SMALL_STATE(2620)] = 87525,
  [SMALL_STATE(2621)] = 87541,
  [SMALL_STATE(2622)] = 87557,
  [SMALL_STATE(2623)] = 87577,
  [SMALL_STATE(2624)] = 87593,
  [SMALL_STATE(2625)] = 87613,
  [SMALL_STATE(2626)] = 87635,
  [SMALL_STATE(2627)] = 87651,
  [SMALL_STATE(2628)] = 87667,
  [SMALL_STATE(2629)] = 87683,
  [SMALL_STATE(2630)] = 87699,
  [SMALL_STATE(2631)] = 87715,
  [SMALL_STATE(2632)] = 87731,
  [SMALL_STATE(2633)] = 87753,
  [SMALL_STATE(2634)] = 87773,
  [SMALL_STATE(2635)] = 87789,
  [SMALL_STATE(2636)] = 87805,
  [SMALL_STATE(2637)] = 87825,
  [SMALL_STATE(2638)] = 87841,
  [SMALL_STATE(2639)] = 87857,
  [SMALL_STATE(2640)] = 87873,
  [SMALL_STATE(2641)] = 87889,
  [SMALL_STATE(2642)] = 87905,
  [SMALL_STATE(2643)] = 87921,
  [SMALL_STATE(2644)] = 87941,
  [SMALL_STATE(2645)] = 87961,
  [SMALL_STATE(2646)] = 87977,
  [SMALL_STATE(2647)] = 87993,
  [SMALL_STATE(2648)] = 88009,
  [SMALL_STATE(2649)] = 88025,
  [SMALL_STATE(2650)] = 88045,
  [SMALL_STATE(2651)] = 88061,
  [SMALL_STATE(2652)] = 88077,
  [SMALL_STATE(2653)] = 88093,
  [SMALL_STATE(2654)] = 88109,
  [SMALL_STATE(2655)] = 88125,
  [SMALL_STATE(2656)] = 88141,
  [SMALL_STATE(2657)] = 88157,
  [SMALL_STATE(2658)] = 88173,
  [SMALL_STATE(2659)] = 88189,
  [SMALL_STATE(2660)] = 88209,
  [SMALL_STATE(2661)] = 88225,
  [SMALL_STATE(2662)] = 88241,
  [SMALL_STATE(2663)] = 88257,
  [SMALL_STATE(2664)] = 88273,
  [SMALL_STATE(2665)] = 88289,
  [SMALL_STATE(2666)] = 88308,
  [SMALL_STATE(2667)] = 88323,
  [SMALL_STATE(2668)] = 88340,
  [SMALL_STATE(2669)] = 88359,
  [SMALL_STATE(2670)] = 88378,
  [SMALL_STATE(2671)] = 88397,
  [SMALL_STATE(2672)] = 88414,
  [SMALL_STATE(2673)] = 88431,
  [SMALL_STATE(2674)] = 88450,
  [SMALL_STATE(2675)] = 88465,
  [SMALL_STATE(2676)] = 88480,
  [SMALL_STATE(2677)] = 88499,
  [SMALL_STATE(2678)] = 88514,
  [SMALL_STATE(2679)] = 88533,
  [SMALL_STATE(2680)] = 88548,
  [SMALL_STATE(2681)] = 88567,
  [SMALL_STATE(2682)] = 88582,
  [SMALL_STATE(2683)] = 88597,
  [SMALL_STATE(2684)] = 88612,
  [SMALL_STATE(2685)] = 88631,
  [SMALL_STATE(2686)] = 88648,
  [SMALL_STATE(2687)] = 88665,
  [SMALL_STATE(2688)] = 88684,
  [SMALL_STATE(2689)] = 88703,
  [SMALL_STATE(2690)] = 88722,
  [SMALL_STATE(2691)] = 88741,
  [SMALL_STATE(2692)] = 88760,
  [SMALL_STATE(2693)] = 88775,
  [SMALL_STATE(2694)] = 88794,
  [SMALL_STATE(2695)] = 88813,
  [SMALL_STATE(2696)] = 88828,
  [SMALL_STATE(2697)] = 88847,
  [SMALL_STATE(2698)] = 88864,
  [SMALL_STATE(2699)] = 88881,
  [SMALL_STATE(2700)] = 88900,
  [SMALL_STATE(2701)] = 88919,
  [SMALL_STATE(2702)] = 88938,
  [SMALL_STATE(2703)] = 88957,
  [SMALL_STATE(2704)] = 88976,
  [SMALL_STATE(2705)] = 88993,
  [SMALL_STATE(2706)] = 89012,
  [SMALL_STATE(2707)] = 89031,
  [SMALL_STATE(2708)] = 89050,
  [SMALL_STATE(2709)] = 89065,
  [SMALL_STATE(2710)] = 89084,
  [SMALL_STATE(2711)] = 89099,
  [SMALL_STATE(2712)] = 89114,
  [SMALL_STATE(2713)] = 89131,
  [SMALL_STATE(2714)] = 89146,
  [SMALL_STATE(2715)] = 89165,
  [SMALL_STATE(2716)] = 89182,
  [SMALL_STATE(2717)] = 89201,
  [SMALL_STATE(2718)] = 89220,
  [SMALL_STATE(2719)] = 89235,
  [SMALL_STATE(2720)] = 89254,
  [SMALL_STATE(2721)] = 89273,
  [SMALL_STATE(2722)] = 89292,
  [SMALL_STATE(2723)] = 89311,
  [SMALL_STATE(2724)] = 89330,
  [SMALL_STATE(2725)] = 89347,
  [SMALL_STATE(2726)] = 89366,
  [SMALL_STATE(2727)] = 89385,
  [SMALL_STATE(2728)] = 89402,
  [SMALL_STATE(2729)] = 89421,
  [SMALL_STATE(2730)] = 89440,
  [SMALL_STATE(2731)] = 89459,
  [SMALL_STATE(2732)] = 89478,
  [SMALL_STATE(2733)] = 89497,
  [SMALL_STATE(2734)] = 89516,
  [SMALL_STATE(2735)] = 89531,
  [SMALL_STATE(2736)] = 89546,
  [SMALL_STATE(2737)] = 89563,
  [SMALL_STATE(2738)] = 89579,
  [SMALL_STATE(2739)] = 89593,
  [SMALL_STATE(2740)] = 89607,
  [SMALL_STATE(2741)] = 89621,
  [SMALL_STATE(2742)] = 89637,
  [SMALL_STATE(2743)] = 89651,
  [SMALL_STATE(2744)] = 89665,
  [SMALL_STATE(2745)] = 89679,
  [SMALL_STATE(2746)] = 89695,
  [SMALL_STATE(2747)] = 89709,
  [SMALL_STATE(2748)] = 89723,
  [SMALL_STATE(2749)] = 89737,
  [SMALL_STATE(2750)] = 89751,
  [SMALL_STATE(2751)] = 89765,
  [SMALL_STATE(2752)] = 89779,
  [SMALL_STATE(2753)] = 89795,
  [SMALL_STATE(2754)] = 89809,
  [SMALL_STATE(2755)] = 89823,
  [SMALL_STATE(2756)] = 89837,
  [SMALL_STATE(2757)] = 89851,
  [SMALL_STATE(2758)] = 89865,
  [SMALL_STATE(2759)] = 89881,
  [SMALL_STATE(2760)] = 89895,
  [SMALL_STATE(2761)] = 89909,
  [SMALL_STATE(2762)] = 89925,
  [SMALL_STATE(2763)] = 89939,
  [SMALL_STATE(2764)] = 89953,
  [SMALL_STATE(2765)] = 89969,
  [SMALL_STATE(2766)] = 89983,
  [SMALL_STATE(2767)] = 89997,
  [SMALL_STATE(2768)] = 90011,
  [SMALL_STATE(2769)] = 90025,
  [SMALL_STATE(2770)] = 90041,
  [SMALL_STATE(2771)] = 90055,
  [SMALL_STATE(2772)] = 90069,
  [SMALL_STATE(2773)] = 90085,
  [SMALL_STATE(2774)] = 90101,
  [SMALL_STATE(2775)] = 90117,
  [SMALL_STATE(2776)] = 90131,
  [SMALL_STATE(2777)] = 90145,
  [SMALL_STATE(2778)] = 90159,
  [SMALL_STATE(2779)] = 90173,
  [SMALL_STATE(2780)] = 90187,
  [SMALL_STATE(2781)] = 90201,
  [SMALL_STATE(2782)] = 90214,
  [SMALL_STATE(2783)] = 90227,
  [SMALL_STATE(2784)] = 90240,
  [SMALL_STATE(2785)] = 90253,
  [SMALL_STATE(2786)] = 90266,
  [SMALL_STATE(2787)] = 90279,
  [SMALL_STATE(2788)] = 90292,
  [SMALL_STATE(2789)] = 90305,
  [SMALL_STATE(2790)] = 90318,
  [SMALL_STATE(2791)] = 90331,
  [SMALL_STATE(2792)] = 90344,
  [SMALL_STATE(2793)] = 90357,
  [SMALL_STATE(2794)] = 90370,
  [SMALL_STATE(2795)] = 90383,
  [SMALL_STATE(2796)] = 90396,
  [SMALL_STATE(2797)] = 90409,
  [SMALL_STATE(2798)] = 90422,
  [SMALL_STATE(2799)] = 90435,
  [SMALL_STATE(2800)] = 90448,
  [SMALL_STATE(2801)] = 90461,
  [SMALL_STATE(2802)] = 90474,
  [SMALL_STATE(2803)] = 90487,
  [SMALL_STATE(2804)] = 90500,
  [SMALL_STATE(2805)] = 90513,
  [SMALL_STATE(2806)] = 90526,
  [SMALL_STATE(2807)] = 90539,
  [SMALL_STATE(2808)] = 90552,
  [SMALL_STATE(2809)] = 90565,
  [SMALL_STATE(2810)] = 90578,
  [SMALL_STATE(2811)] = 90591,
  [SMALL_STATE(2812)] = 90604,
  [SMALL_STATE(2813)] = 90617,
  [SMALL_STATE(2814)] = 90630,
  [SMALL_STATE(2815)] = 90643,
  [SMALL_STATE(2816)] = 90656,
  [SMALL_STATE(2817)] = 90669,
  [SMALL_STATE(2818)] = 90680,
  [SMALL_STATE(2819)] = 90693,
  [SMALL_STATE(2820)] = 90706,
  [SMALL_STATE(2821)] = 90719,
  [SMALL_STATE(2822)] = 90732,
  [SMALL_STATE(2823)] = 90745,
  [SMALL_STATE(2824)] = 90758,
  [SMALL_STATE(2825)] = 90771,
  [SMALL_STATE(2826)] = 90784,
  [SMALL_STATE(2827)] = 90797,
  [SMALL_STATE(2828)] = 90810,
  [SMALL_STATE(2829)] = 90823,
  [SMALL_STATE(2830)] = 90836,
  [SMALL_STATE(2831)] = 90849,
  [SMALL_STATE(2832)] = 90860,
  [SMALL_STATE(2833)] = 90873,
  [SMALL_STATE(2834)] = 90886,
  [SMALL_STATE(2835)] = 90899,
  [SMALL_STATE(2836)] = 90912,
  [SMALL_STATE(2837)] = 90925,
  [SMALL_STATE(2838)] = 90938,
  [SMALL_STATE(2839)] = 90951,
  [SMALL_STATE(2840)] = 90964,
  [SMALL_STATE(2841)] = 90977,
  [SMALL_STATE(2842)] = 90990,
  [SMALL_STATE(2843)] = 91003,
  [SMALL_STATE(2844)] = 91016,
  [SMALL_STATE(2845)] = 91029,
  [SMALL_STATE(2846)] = 91042,
  [SMALL_STATE(2847)] = 91055,
  [SMALL_STATE(2848)] = 91068,
  [SMALL_STATE(2849)] = 91081,
  [SMALL_STATE(2850)] = 91092,
  [SMALL_STATE(2851)] = 91105,
  [SMALL_STATE(2852)] = 91118,
  [SMALL_STATE(2853)] = 91131,
  [SMALL_STATE(2854)] = 91144,
  [SMALL_STATE(2855)] = 91157,
  [SMALL_STATE(2856)] = 91170,
  [SMALL_STATE(2857)] = 91183,
  [SMALL_STATE(2858)] = 91194,
  [SMALL_STATE(2859)] = 91207,
  [SMALL_STATE(2860)] = 91220,
  [SMALL_STATE(2861)] = 91233,
  [SMALL_STATE(2862)] = 91246,
  [SMALL_STATE(2863)] = 91259,
  [SMALL_STATE(2864)] = 91272,
  [SMALL_STATE(2865)] = 91285,
  [SMALL_STATE(2866)] = 91298,
  [SMALL_STATE(2867)] = 91311,
  [SMALL_STATE(2868)] = 91324,
  [SMALL_STATE(2869)] = 91337,
  [SMALL_STATE(2870)] = 91350,
  [SMALL_STATE(2871)] = 91363,
  [SMALL_STATE(2872)] = 91376,
  [SMALL_STATE(2873)] = 91389,
  [SMALL_STATE(2874)] = 91400,
  [SMALL_STATE(2875)] = 91413,
  [SMALL_STATE(2876)] = 91426,
  [SMALL_STATE(2877)] = 91437,
  [SMALL_STATE(2878)] = 91450,
  [SMALL_STATE(2879)] = 91461,
  [SMALL_STATE(2880)] = 91472,
  [SMALL_STATE(2881)] = 91485,
  [SMALL_STATE(2882)] = 91498,
  [SMALL_STATE(2883)] = 91511,
  [SMALL_STATE(2884)] = 91524,
  [SMALL_STATE(2885)] = 91537,
  [SMALL_STATE(2886)] = 91548,
  [SMALL_STATE(2887)] = 91561,
  [SMALL_STATE(2888)] = 91574,
  [SMALL_STATE(2889)] = 91587,
  [SMALL_STATE(2890)] = 91600,
  [SMALL_STATE(2891)] = 91613,
  [SMALL_STATE(2892)] = 91626,
  [SMALL_STATE(2893)] = 91639,
  [SMALL_STATE(2894)] = 91652,
  [SMALL_STATE(2895)] = 91665,
  [SMALL_STATE(2896)] = 91678,
  [SMALL_STATE(2897)] = 91691,
  [SMALL_STATE(2898)] = 91704,
  [SMALL_STATE(2899)] = 91717,
  [SMALL_STATE(2900)] = 91730,
  [SMALL_STATE(2901)] = 91743,
  [SMALL_STATE(2902)] = 91756,
  [SMALL_STATE(2903)] = 91769,
  [SMALL_STATE(2904)] = 91782,
  [SMALL_STATE(2905)] = 91795,
  [SMALL_STATE(2906)] = 91808,
  [SMALL_STATE(2907)] = 91821,
  [SMALL_STATE(2908)] = 91834,
  [SMALL_STATE(2909)] = 91847,
  [SMALL_STATE(2910)] = 91860,
  [SMALL_STATE(2911)] = 91873,
  [SMALL_STATE(2912)] = 91886,
  [SMALL_STATE(2913)] = 91899,
  [SMALL_STATE(2914)] = 91912,
  [SMALL_STATE(2915)] = 91925,
  [SMALL_STATE(2916)] = 91938,
  [SMALL_STATE(2917)] = 91951,
  [SMALL_STATE(2918)] = 91964,
  [SMALL_STATE(2919)] = 91977,
  [SMALL_STATE(2920)] = 91988,
  [SMALL_STATE(2921)] = 92001,
  [SMALL_STATE(2922)] = 92014,
  [SMALL_STATE(2923)] = 92018,
  [SMALL_STATE(2924)] = 92022,
  [SMALL_STATE(2925)] = 92026,
  [SMALL_STATE(2926)] = 92030,
  [SMALL_STATE(2927)] = 92034,
  [SMALL_STATE(2928)] = 92038,
  [SMALL_STATE(2929)] = 92042,
  [SMALL_STATE(2930)] = 92046,
  [SMALL_STATE(2931)] = 92050,
  [SMALL_STATE(2932)] = 92054,
  [SMALL_STATE(2933)] = 92058,
  [SMALL_STATE(2934)] = 92062,
  [SMALL_STATE(2935)] = 92066,
  [SMALL_STATE(2936)] = 92070,
  [SMALL_STATE(2937)] = 92074,
  [SMALL_STATE(2938)] = 92078,
  [SMALL_STATE(2939)] = 92082,
  [SMALL_STATE(2940)] = 92086,
  [SMALL_STATE(2941)] = 92090,
  [SMALL_STATE(2942)] = 92094,
  [SMALL_STATE(2943)] = 92098,
  [SMALL_STATE(2944)] = 92102,
  [SMALL_STATE(2945)] = 92106,
  [SMALL_STATE(2946)] = 92110,
  [SMALL_STATE(2947)] = 92114,
  [SMALL_STATE(2948)] = 92118,
  [SMALL_STATE(2949)] = 92122,
  [SMALL_STATE(2950)] = 92126,
  [SMALL_STATE(2951)] = 92130,
  [SMALL_STATE(2952)] = 92134,
  [SMALL_STATE(2953)] = 92138,
  [SMALL_STATE(2954)] = 92142,
  [SMALL_STATE(2955)] = 92146,
  [SMALL_STATE(2956)] = 92150,
  [SMALL_STATE(2957)] = 92154,
  [SMALL_STATE(2958)] = 92158,
  [SMALL_STATE(2959)] = 92162,
  [SMALL_STATE(2960)] = 92166,
  [SMALL_STATE(2961)] = 92170,
  [SMALL_STATE(2962)] = 92174,
  [SMALL_STATE(2963)] = 92178,
  [SMALL_STATE(2964)] = 92182,
  [SMALL_STATE(2965)] = 92186,
  [SMALL_STATE(2966)] = 92190,
};

static TSParseActionEntry ts_parse_actions[] = {
  [0] = {.count = 0, .reusable = false},
  [1] = {.count = 1, .reusable = false}, RECOVER(),
  [3] = {.count = 1, .reusable = false}, SHIFT_EXTRA(),
  [5] = {.count = 1, .reusable = true}, SHIFT(2509),
  [7] = {.count = 1, .reusable = true}, REDUCE(sym_program, 0),
  [9] = {.count = 1, .reusable = false}, SHIFT(309),
  [11] = {.count = 1, .reusable = false}, SHIFT(2821),
  [13] = {.count = 1, .reusable = false}, SHIFT(2824),
  [15] = {.count = 1, .reusable = true}, SHIFT(316),
  [17] = {.count = 1, .reusable = false}, SHIFT(2828),
  [19] = {.count = 1, .reusable = false}, SHIFT(1341),
  [21] = {.count = 1, .reusable = true}, SHIFT(173),
  [23] = {.count = 1, .reusable = true}, SHIFT(2742),
  [25] = {.count = 1, .reusable = true}, SHIFT(969),
  [27] = {.count = 1, .reusable = true}, SHIFT(853),
  [29] = {.count = 1, .reusable = false}, SHIFT(860),
  [31] = {.count = 1, .reusable = false}, SHIFT(863),
  [33] = {.count = 1, .reusable = false}, SHIFT(15),
  [35] = {.count = 1, .reusable = false}, SHIFT(16),
  [37] = {.count = 1, .reusable = false}, SHIFT(17),
  [39] = {.count = 1, .reusable = false}, SHIFT(18),
  [41] = {.count = 1, .reusable = false}, SHIFT(1020),
  [43] = {.count = 1, .reusable = false}, SHIFT(1027),
  [45] = {.count = 1, .reusable = false}, SHIFT(200),
  [47] = {.count = 1, .reusable = false}, SHIFT(201),
  [49] = {.count = 1, .reusable = false}, SHIFT(423),
  [51] = {.count = 1, .reusable = false}, SHIFT(424),
  [53] = {.count = 1, .reusable = false}, SHIFT(856),
  [55] = {.count = 1, .reusable = false}, SHIFT(348),
  [57] = {.count = 1, .reusable = false}, SHIFT(40),
  [59] = {.count = 1, .reusable = false}, SHIFT(401),
  [61] = {.count = 1, .reusable = true}, SHIFT(425),
  [63] = {.count = 1, .reusable = false}, SHIFT(428),
  [65] = {.count = 1, .reusable = true}, SHIFT(430),
  [67] = {.count = 1, .reusable = false}, SHIFT(1567),
  [69] = {.count = 1, .reusable = false}, SHIFT(1571),
  [71] = {.count = 1, .reusable = true}, SHIFT_EXTRA(),
  [73] = {.count = 1, .reusable = false}, SHIFT(1050),
  [75] = {.count = 1, .reusable = false}, SHIFT(1107),
  [77] = {.count = 1, .reusable = true}, SHIFT(1107),
  [79] = {.count = 1, .reusable = false}, SHIFT(918),
  [81] = {.count = 1, .reusable = true}, SHIFT(309),
  [83] = {.count = 1, .reusable = true}, SHIFT(236),
  [85] = {.count = 1, .reusable = true}, SHIFT(2115),
  [87] = {.count = 1, .reusable = true}, SHIFT(1077),
  [89] = {.count = 1, .reusable = true}, SHIFT(2376),
  [91] = {.count = 1, .reusable = true}, SHIFT(2471),
  [93] = {.count = 1, .reusable = true}, SHIFT(2470),
  [95] = {.count = 1, .reusable = true}, SHIFT(2466),
  [97] = {.count = 1, .reusable = true}, SHIFT(2303),
  [99] = {.count = 1, .reusable = true}, SHIFT(2314),
  [101] = {.count = 1, .reusable = true}, SHIFT(401),
  [103] = {.count = 1, .reusable = false}, SHIFT(210),
  [105] = {.count = 1, .reusable = true}, SHIFT(132),
  [107] = {.count = 1, .reusable = true}, REDUCE(sym__lhs, 1),
  [109] = {.count = 1, .reusable = false}, SHIFT(173),
  [111] = {.count = 1, .reusable = false}, REDUCE(sym__lhs, 1),
  [113] = {.count = 1, .reusable = false}, SHIFT(2740),
  [115] = {.count = 1, .reusable = false}, SHIFT(853),
  [117] = {.count = 1, .reusable = false}, SHIFT(1000),
  [119] = {.count = 1, .reusable = false}, SHIFT(996),
  [121] = {.count = 1, .reusable = false}, SHIFT(997),
  [123] = {.count = 1, .reusable = false}, SHIFT(999),
  [125] = {.count = 1, .reusable = true}, SHIFT(241),
  [127] = {.count = 1, .reusable = true}, SHIFT(574),
  [129] = {.count = 1, .reusable = false}, SHIFT(575),
  [131] = {.count = 1, .reusable = false}, SHIFT(576),
  [133] = {.count = 1, .reusable = true}, SHIFT(576),
  [135] = {.count = 1, .reusable = false}, SHIFT(212),
  [137] = {.count = 1, .reusable = false}, SHIFT(907),
  [139] = {.count = 1, .reusable = true}, SHIFT(212),
  [141] = {.count = 1, .reusable = false}, SHIFT(236),
  [143] = {.count = 1, .reusable = true}, SHIFT(569),
  [145] = {.count = 1, .reusable = true}, SHIFT(570),
  [147] = {.count = 1, .reusable = true}, SHIFT(530),
  [149] = {.count = 1, .reusable = true}, SHIFT(2798),
  [151] = {.count = 1, .reusable = true}, SHIFT(134),
  [153] = {.count = 1, .reusable = false}, SHIFT(23),
  [155] = {.count = 1, .reusable = true}, SHIFT(131),
  [157] = {.count = 1, .reusable = false}, SHIFT(28),
  [159] = {.count = 1, .reusable = true}, SHIFT(249),
  [161] = {.count = 1, .reusable = false}, SHIFT(298),
  [163] = {.count = 1, .reusable = false}, SHIFT(2777),
  [165] = {.count = 1, .reusable = false}, SHIFT(306),
  [167] = {.count = 1, .reusable = true}, SHIFT(306),
  [169] = {.count = 1, .reusable = false}, SHIFT(324),
  [171] = {.count = 1, .reusable = true}, SHIFT(140),
  [173] = {.count = 1, .reusable = false}, SHIFT(1360),
  [175] = {.count = 1, .reusable = false}, SHIFT(191),
  [177] = {.count = 1, .reusable = false}, SHIFT(2876),
  [179] = {.count = 1, .reusable = false}, SHIFT(865),
  [181] = {.count = 1, .reusable = false}, SHIFT(868),
  [183] = {.count = 1, .reusable = false}, SHIFT(1347),
  [185] = {.count = 1, .reusable = false}, SHIFT(1346),
  [187] = {.count = 1, .reusable = false}, SHIFT(1345),
  [189] = {.count = 1, .reusable = false}, SHIFT(1356),
  [191] = {.count = 1, .reusable = false}, SHIFT(1344),
  [193] = {.count = 1, .reusable = false}, SHIFT(1358),
  [195] = {.count = 1, .reusable = false}, SHIFT(859),
  [197] = {.count = 1, .reusable = false}, SHIFT(31),
  [199] = {.count = 1, .reusable = false}, SHIFT(378),
  [201] = {.count = 1, .reusable = false}, SHIFT(70),
  [203] = {.count = 1, .reusable = true}, SHIFT(265),
  [205] = {.count = 1, .reusable = true}, SHIFT(790),
  [207] = {.count = 1, .reusable = false}, SHIFT(791),
  [209] = {.count = 1, .reusable = false}, SHIFT(813),
  [211] = {.count = 1, .reusable = true}, SHIFT(813),
  [213] = {.count = 1, .reusable = false}, SHIFT(1362),
  [215] = {.count = 1, .reusable = false}, SHIFT(1413),
  [217] = {.count = 1, .reusable = true}, SHIFT(1413),
  [219] = {.count = 1, .reusable = false}, SHIFT(9),
  [221] = {.count = 1, .reusable = false}, SHIFT(987),
  [223] = {.count = 1, .reusable = true}, SHIFT(9),
  [225] = {.count = 1, .reusable = false}, SHIFT(263),
  [227] = {.count = 1, .reusable = true}, SHIFT(2128),
  [229] = {.count = 1, .reusable = true}, SHIFT(1520),
  [231] = {.count = 1, .reusable = true}, SHIFT(2519),
  [233] = {.count = 1, .reusable = true}, SHIFT(2523),
  [235] = {.count = 1, .reusable = true}, SHIFT(2525),
  [237] = {.count = 1, .reusable = true}, SHIFT(2528),
  [239] = {.count = 1, .reusable = true}, SHIFT(2373),
  [241] = {.count = 1, .reusable = true}, SHIFT(2372),
  [243] = {.count = 1, .reusable = true}, SHIFT(830),
  [245] = {.count = 1, .reusable = true}, SHIFT(812),
  [247] = {.count = 1, .reusable = true}, SHIFT(761),
  [249] = {.count = 1, .reusable = true}, SHIFT(2959),
  [251] = {.count = 1, .reusable = true}, SHIFT(138),
  [253] = {.count = 1, .reusable = true}, SHIFT(139),
  [255] = {.count = 1, .reusable = false}, SHIFT(33),
  [257] = {.count = 1, .reusable = true}, SHIFT(261),
  [259] = {.count = 1, .reusable = false}, SHIFT(211),
  [261] = {.count = 1, .reusable = true}, REDUCE(sym_break, 1),
  [263] = {.count = 1, .reusable = false}, REDUCE(sym_break, 1),
  [265] = {.count = 1, .reusable = true}, SHIFT(252),
  [267] = {.count = 1, .reusable = true}, SHIFT(554),
  [269] = {.count = 1, .reusable = false}, SHIFT(565),
  [271] = {.count = 1, .reusable = false}, SHIFT(567),
  [273] = {.count = 1, .reusable = true}, SHIFT(567),
  [275] = {.count = 1, .reusable = true}, SHIFT(549),
  [277] = {.count = 1, .reusable = true}, SHIFT(552),
  [279] = {.count = 1, .reusable = true}, SHIFT(548),
  [281] = {.count = 1, .reusable = true}, SHIFT(2871),
  [283] = {.count = 1, .reusable = true}, REDUCE(sym_next, 1),
  [285] = {.count = 1, .reusable = false}, REDUCE(sym_next, 1),
  [287] = {.count = 1, .reusable = true}, REDUCE(sym_yield, 1),
  [289] = {.count = 1, .reusable = false}, REDUCE(sym_yield, 1),
  [291] = {.count = 1, .reusable = true}, REDUCE(sym_return, 1),
  [293] = {.count = 1, .reusable = false}, REDUCE(sym_return, 1),
  [295] = {.count = 1, .reusable = false}, SHIFT(290),
  [297] = {.count = 1, .reusable = false}, SHIFT(326),
  [299] = {.count = 1, .reusable = true}, SHIFT(325),
  [301] = {.count = 1, .reusable = true}, SHIFT(258),
  [303] = {.count = 1, .reusable = true}, SHIFT(815),
  [305] = {.count = 1, .reusable = false}, SHIFT(818),
  [307] = {.count = 1, .reusable = false}, SHIFT(824),
  [309] = {.count = 1, .reusable = true}, SHIFT(824),
  [311] = {.count = 1, .reusable = false}, SHIFT(8),
  [313] = {.count = 1, .reusable = false}, SHIFT(1041),
  [315] = {.count = 1, .reusable = true}, SHIFT(8),
  [317] = {.count = 1, .reusable = true}, SHIFT(805),
  [319] = {.count = 1, .reusable = true}, SHIFT(752),
  [321] = {.count = 1, .reusable = true}, SHIFT(814),
  [323] = {.count = 1, .reusable = true}, SHIFT(2955),
  [325] = {.count = 1, .reusable = false}, SHIFT(222),
  [327] = {.count = 1, .reusable = true}, SHIFT(2739),
  [329] = {.count = 1, .reusable = true}, SHIFT(2130),
  [331] = {.count = 1, .reusable = true}, SHIFT(942),
  [333] = {.count = 1, .reusable = false}, SHIFT(905),
  [335] = {.count = 1, .reusable = false}, SHIFT(14),
  [337] = {.count = 1, .reusable = false}, SHIFT(13),
  [339] = {.count = 1, .reusable = false}, SHIFT(11),
  [341] = {.count = 1, .reusable = false}, SHIFT(12),
  [343] = {.count = 1, .reusable = false}, SHIFT(262),
  [345] = {.count = 1, .reusable = false}, SHIFT(147),
  [347] = {.count = 1, .reusable = false}, SHIFT(155),
  [349] = {.count = 1, .reusable = false}, SHIFT(1576),
  [351] = {.count = 1, .reusable = false}, SHIFT(1577),
  [353] = {.count = 1, .reusable = true}, SHIFT(222),
  [355] = {.count = 1, .reusable = true}, SHIFT(934),
  [357] = {.count = 1, .reusable = false}, SHIFT(1167),
  [359] = {.count = 1, .reusable = false}, SHIFT(2076),
  [361] = {.count = 1, .reusable = false}, SHIFT(1067),
  [363] = {.count = 1, .reusable = false}, SHIFT(1551),
  [365] = {.count = 1, .reusable = false}, SHIFT(930),
  [367] = {.count = 1, .reusable = false}, SHIFT(1192),
  [369] = {.count = 1, .reusable = false}, SHIFT(2291),
  [371] = {.count = 1, .reusable = false}, SHIFT(1006),
  [373] = {.count = 1, .reusable = false}, SHIFT(2218),
  [375] = {.count = 1, .reusable = false}, SHIFT(1045),
  [377] = {.count = 1, .reusable = false}, SHIFT(1396),
  [379] = {.count = 1, .reusable = true}, SHIFT(939),
  [381] = {.count = 1, .reusable = false}, SHIFT(2210),
  [383] = {.count = 1, .reusable = false}, SHIFT(1015),
  [385] = {.count = 1, .reusable = false}, SHIFT(1048),
  [387] = {.count = 1, .reusable = false}, SHIFT(1478),
  [389] = {.count = 1, .reusable = false}, SHIFT(1519),
  [391] = {.count = 1, .reusable = false}, SHIFT(1055),
  [393] = {.count = 1, .reusable = false}, SHIFT(1433),
  [395] = {.count = 1, .reusable = false}, SHIFT(1489),
  [397] = {.count = 1, .reusable = false}, SHIFT(1022),
  [399] = {.count = 1, .reusable = false}, SHIFT(2212),
  [401] = {.count = 1, .reusable = false}, SHIFT(1023),
  [403] = {.count = 1, .reusable = false}, SHIFT(1432),
  [405] = {.count = 1, .reusable = false}, SHIFT(1490),
  [407] = {.count = 1, .reusable = false}, SHIFT(1386),
  [409] = {.count = 1, .reusable = false}, SHIFT(1047),
  [411] = {.count = 1, .reusable = false}, SHIFT(1385),
  [413] = {.count = 1, .reusable = false}, SHIFT(1476),
  [415] = {.count = 1, .reusable = false}, SHIFT(2213),
  [417] = {.count = 1, .reusable = false}, SHIFT(1384),
  [419] = {.count = 1, .reusable = false}, SHIFT(1429),
  [421] = {.count = 1, .reusable = false}, SHIFT(1410),
  [423] = {.count = 1, .reusable = false}, SHIFT(305),
  [425] = {.count = 1, .reusable = true}, SHIFT(897),
  [427] = {.count = 1, .reusable = true}, SHIFT(2740),
  [429] = {.count = 1, .reusable = true}, SHIFT(2125),
  [431] = {.count = 1, .reusable = true}, SHIFT(509),
  [433] = {.count = 1, .reusable = false}, SHIFT(737),
  [435] = {.count = 1, .reusable = true}, SHIFT(736),
  [437] = {.count = 1, .reusable = false}, SHIFT(733),
  [439] = {.count = 1, .reusable = true}, SHIFT(727),
  [441] = {.count = 1, .reusable = true}, SHIFT(737),
  [443] = {.count = 1, .reusable = true}, SHIFT(2905),
  [445] = {.count = 1, .reusable = true}, SHIFT(894),
  [447] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(222),
  [450] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2824),
  [453] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(316),
  [456] = {.count = 1, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2),
  [458] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2828),
  [461] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1341),
  [464] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(173),
  [467] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2739),
  [470] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(939),
  [473] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(853),
  [476] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(860),
  [479] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(863),
  [482] = {.count = 1, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2),
  [484] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(14),
  [487] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(13),
  [490] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(11),
  [493] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(12),
  [496] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1020),
  [499] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1027),
  [502] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(200),
  [505] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(201),
  [508] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(423),
  [511] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(424),
  [514] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(856),
  [517] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(348),
  [520] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(40),
  [523] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(401),
  [526] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(425),
  [529] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(428),
  [532] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(430),
  [535] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1576),
  [538] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1577),
  [541] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1050),
  [544] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1107),
  [547] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1107),
  [550] = {.count = 2, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(918),
  [553] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(222),
  [556] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(236),
  [559] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2115),
  [562] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(1077),
  [565] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2376),
  [568] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2471),
  [571] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2470),
  [574] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2466),
  [577] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2303),
  [580] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(2314),
  [583] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(401),
  [586] = {.count = 1, .reusable = true}, SHIFT(893),
  [588] = {.count = 1, .reusable = true}, REDUCE(sym__statements, 1),
  [590] = {.count = 1, .reusable = false}, REDUCE(sym__statements, 1),
  [592] = {.count = 1, .reusable = false}, SHIFT(1445),
  [594] = {.count = 1, .reusable = false}, SHIFT(203),
  [596] = {.count = 1, .reusable = false}, SHIFT(145),
  [598] = {.count = 1, .reusable = false}, SHIFT(2597),
  [600] = {.count = 1, .reusable = true}, SHIFT(1031),
  [602] = {.count = 1, .reusable = true}, SHIFT(1018),
  [604] = {.count = 1, .reusable = true}, SHIFT(994),
  [606] = {.count = 1, .reusable = false}, SHIFT(1447),
  [608] = {.count = 1, .reusable = false}, REDUCE(sym_elsif, 3, .production_id = 17),
  [610] = {.count = 1, .reusable = false}, SHIFT(2536),
  [612] = {.count = 1, .reusable = false}, REDUCE(sym_then, 1),
  [614] = {.count = 1, .reusable = false}, REDUCE(sym_then, 2),
  [616] = {.count = 1, .reusable = false}, SHIFT(1132),
  [618] = {.count = 1, .reusable = false}, REDUCE(sym_else, 1),
  [620] = {.count = 1, .reusable = false}, SHIFT(1137),
  [622] = {.count = 1, .reusable = false}, REDUCE(sym_rescue, 3, .production_id = 49),
  [624] = {.count = 1, .reusable = false}, REDUCE(sym_rescue, 3, .production_id = 47),
  [626] = {.count = 1, .reusable = false}, REDUCE(sym_rescue, 2),
  [628] = {.count = 1, .reusable = false}, SHIFT(1545),
  [630] = {.count = 1, .reusable = false}, SHIFT(1373),
  [632] = {.count = 1, .reusable = false}, REDUCE(sym_rescue, 4, .production_id = 61),
  [634] = {.count = 1, .reusable = false}, REDUCE(sym_ensure, 1),
  [636] = {.count = 1, .reusable = false}, REDUCE(sym_when, 3, .production_id = 42),
  [638] = {.count = 1, .reusable = false}, REDUCE(sym_when, 4, .production_id = 67),
  [640] = {.count = 1, .reusable = false}, REDUCE(sym_else, 2, .production_id = 17),
  [642] = {.count = 1, .reusable = true}, SHIFT(910),
  [644] = {.count = 1, .reusable = true}, SHIFT(2280),
  [646] = {.count = 1, .reusable = true}, SHIFT(919),
  [648] = {.count = 1, .reusable = true}, SHIFT(2074),
  [650] = {.count = 1, .reusable = true}, SHIFT(1456),
  [652] = {.count = 1, .reusable = true}, SHIFT(1040),
  [654] = {.count = 1, .reusable = true}, SHIFT(1185),
  [656] = {.count = 1, .reusable = true}, SHIFT(1144),
  [658] = {.count = 1, .reusable = true}, SHIFT(1032),
  [660] = {.count = 1, .reusable = true}, SHIFT(1054),
  [662] = {.count = 1, .reusable = true}, SHIFT(2225),
  [664] = {.count = 1, .reusable = true}, SHIFT(1552),
  [666] = {.count = 1, .reusable = true}, SHIFT(1197),
  [668] = {.count = 1, .reusable = true}, SHIFT(2618),
  [670] = {.count = 1, .reusable = true}, SHIFT(1090),
  [672] = {.count = 1, .reusable = true}, SHIFT(1171),
  [674] = {.count = 1, .reusable = true}, SHIFT(2072),
  [676] = {.count = 1, .reusable = true}, SHIFT(1518),
  [678] = {.count = 1, .reusable = false}, SHIFT(1437),
  [680] = {.count = 2, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 2), SHIFT_REPEAT(969),
  [683] = {.count = 1, .reusable = true}, SHIFT(924),
  [685] = {.count = 1, .reusable = true}, SHIFT(1064),
  [687] = {.count = 1, .reusable = true}, SHIFT(2114),
  [689] = {.count = 1, .reusable = true}, SHIFT(2231),
  [691] = {.count = 1, .reusable = false}, SHIFT(1157),
  [693] = {.count = 1, .reusable = true}, SHIFT(895),
  [695] = {.count = 1, .reusable = true}, SHIFT(1480),
  [697] = {.count = 1, .reusable = false}, SHIFT(2586),
  [699] = {.count = 1, .reusable = true}, SHIFT(2109),
  [701] = {.count = 1, .reusable = true}, SHIFT(1471),
  [703] = {.count = 1, .reusable = true}, SHIFT(1528),
  [705] = {.count = 1, .reusable = true}, SHIFT(2209),
  [707] = {.count = 1, .reusable = false}, SHIFT(1374),
  [709] = {.count = 1, .reusable = true}, SHIFT(2489),
  [711] = {.count = 1, .reusable = true}, SHIFT(1066),
  [713] = {.count = 1, .reusable = true}, SHIFT(1012),
  [715] = {.count = 1, .reusable = true}, SHIFT(2486),
  [717] = {.count = 1, .reusable = false}, SHIFT(10),
  [719] = {.count = 1, .reusable = false}, SHIFT(2928),
  [721] = {.count = 1, .reusable = false}, SHIFT(2946),
  [723] = {.count = 1, .reusable = true}, SHIFT(191),
  [725] = {.count = 1, .reusable = true}, SHIFT(2885),
  [727] = {.count = 1, .reusable = false}, SHIFT(22),
  [729] = {.count = 1, .reusable = false}, SHIFT(21),
  [731] = {.count = 1, .reusable = false}, SHIFT(20),
  [733] = {.count = 1, .reusable = false}, SHIFT(19),
  [735] = {.count = 1, .reusable = false}, SHIFT(209),
  [737] = {.count = 1, .reusable = false}, SHIFT(208),
  [739] = {.count = 1, .reusable = false}, SHIFT(823),
  [741] = {.count = 1, .reusable = false}, SHIFT(826),
  [743] = {.count = 1, .reusable = false}, SHIFT(821),
  [745] = {.count = 1, .reusable = true}, SHIFT(750),
  [747] = {.count = 1, .reusable = false}, SHIFT(817),
  [749] = {.count = 1, .reusable = true}, SHIFT(816),
  [751] = {.count = 1, .reusable = false}, SHIFT(1584),
  [753] = {.count = 1, .reusable = false}, SHIFT(1585),
  [755] = {.count = 1, .reusable = false}, SHIFT(1582),
  [757] = {.count = 1, .reusable = true}, SHIFT(1582),
  [759] = {.count = 1, .reusable = false}, SHIFT(1111),
  [761] = {.count = 1, .reusable = true}, SHIFT(10),
  [763] = {.count = 1, .reusable = true}, SHIFT(263),
  [765] = {.count = 1, .reusable = true}, SHIFT(821),
  [767] = {.count = 1, .reusable = false}, REDUCE(sym__variable, 1),
  [769] = {.count = 1, .reusable = true}, REDUCE(sym__variable, 1),
  [771] = {.count = 1, .reusable = false}, SHIFT(624),
  [773] = {.count = 1, .reusable = false}, SHIFT(728),
  [775] = {.count = 1, .reusable = false}, REDUCE(sym_argument_list, 3),
  [777] = {.count = 1, .reusable = true}, REDUCE(sym_argument_list, 3),
  [779] = {.count = 1, .reusable = false}, REDUCE(sym_argument_list, 2),
  [781] = {.count = 1, .reusable = true}, REDUCE(sym_argument_list, 2),
  [783] = {.count = 1, .reusable = false}, REDUCE(sym_call, 3, .production_id = 25),
  [785] = {.count = 1, .reusable = true}, REDUCE(sym_call, 3, .production_id = 25),
  [787] = {.count = 1, .reusable = false}, REDUCE(sym_scope_resolution, 2, .production_id = 6),
  [789] = {.count = 1, .reusable = true}, REDUCE(sym_scope_resolution, 2, .production_id = 6),
  [791] = {.count = 1, .reusable = false}, REDUCE(sym_operator, 1),
  [793] = {.count = 1, .reusable = true}, REDUCE(sym_operator, 1),
  [795] = {.count = 1, .reusable = false}, REDUCE(sym_scope_resolution, 3, .production_id = 27),
  [797] = {.count = 1, .reusable = true}, REDUCE(sym_scope_resolution, 3, .production_id = 27),
  [799] = {.count = 1, .reusable = false}, SHIFT(632),
  [801] = {.count = 1, .reusable = true}, SHIFT(636),
  [803] = {.count = 1, .reusable = false}, SHIFT(639),
  [805] = {.count = 1, .reusable = true}, SHIFT(646),
  [807] = {.count = 1, .reusable = true}, SHIFT(632),
  [809] = {.count = 1, .reusable = false}, SHIFT(548),
  [811] = {.count = 1, .reusable = true}, SHIFT(406),
  [813] = {.count = 1, .reusable = false}, SHIFT(1035),
  [815] = {.count = 1, .reusable = true}, SHIFT(319),
  [817] = {.count = 1, .reusable = false}, SHIFT(1339),
  [819] = {.count = 1, .reusable = true}, SHIFT(177),
  [821] = {.count = 1, .reusable = true}, SHIFT(1002),
  [823] = {.count = 1, .reusable = true}, SHIFT(2776),
  [825] = {.count = 1, .reusable = false}, SHIFT(862),
  [827] = {.count = 1, .reusable = false}, SHIFT(866),
  [829] = {.count = 1, .reusable = false}, SHIFT(1350),
  [831] = {.count = 1, .reusable = false}, SHIFT(1348),
  [833] = {.count = 1, .reusable = false}, SHIFT(1357),
  [835] = {.count = 1, .reusable = false}, SHIFT(1361),
  [837] = {.count = 1, .reusable = false}, SHIFT(1359),
  [839] = {.count = 1, .reusable = false}, SHIFT(1343),
  [841] = {.count = 1, .reusable = false}, SHIFT(202),
  [843] = {.count = 1, .reusable = false}, SHIFT(199),
  [845] = {.count = 1, .reusable = false}, SHIFT(626),
  [847] = {.count = 1, .reusable = false}, SHIFT(391),
  [849] = {.count = 1, .reusable = false}, SHIFT(854),
  [851] = {.count = 1, .reusable = false}, SHIFT(331),
  [853] = {.count = 1, .reusable = false}, SHIFT(38),
  [855] = {.count = 1, .reusable = false}, SHIFT(591),
  [857] = {.count = 1, .reusable = true}, SHIFT(592),
  [859] = {.count = 1, .reusable = false}, SHIFT(593),
  [861] = {.count = 1, .reusable = true}, SHIFT(595),
  [863] = {.count = 1, .reusable = false}, SHIFT(1366),
  [865] = {.count = 1, .reusable = false}, SHIFT(1461),
  [867] = {.count = 1, .reusable = true}, SHIFT(1461),
  [869] = {.count = 1, .reusable = false}, SHIFT(1134),
  [871] = {.count = 1, .reusable = false}, SHIFT(1201),
  [873] = {.count = 1, .reusable = true}, SHIFT(1134),
  [875] = {.count = 1, .reusable = true}, SHIFT(251),
  [877] = {.count = 1, .reusable = true}, SHIFT(2108),
  [879] = {.count = 1, .reusable = true}, SHIFT(1462),
  [881] = {.count = 1, .reusable = true}, SHIFT(2401),
  [883] = {.count = 1, .reusable = true}, SHIFT(2400),
  [885] = {.count = 1, .reusable = true}, SHIFT(2398),
  [887] = {.count = 1, .reusable = true}, SHIFT(2391),
  [889] = {.count = 1, .reusable = true}, SHIFT(2333),
  [891] = {.count = 1, .reusable = true}, SHIFT(2300),
  [893] = {.count = 1, .reusable = true}, SHIFT(654),
  [895] = {.count = 1, .reusable = true}, SHIFT(655),
  [897] = {.count = 1, .reusable = true}, SHIFT(591),
  [899] = {.count = 1, .reusable = true}, SHIFT(299),
  [901] = {.count = 1, .reusable = true}, SHIFT(906),
  [903] = {.count = 1, .reusable = true}, REDUCE(sym__argument_list_with_trailing_comma, 3),
  [905] = {.count = 1, .reusable = true}, SHIFT(1118),
  [907] = {.count = 1, .reusable = true}, SHIFT(1187),
  [909] = {.count = 1, .reusable = true}, SHIFT(2188),
  [911] = {.count = 1, .reusable = true}, SHIFT(214),
  [913] = {.count = 1, .reusable = true}, SHIFT(221),
  [915] = {.count = 1, .reusable = true}, SHIFT(884),
  [917] = {.count = 1, .reusable = true}, SHIFT(2353),
  [919] = {.count = 1, .reusable = false}, SHIFT(834),
  [921] = {.count = 1, .reusable = true}, SHIFT(846),
  [923] = {.count = 1, .reusable = false}, SHIFT(847),
  [925] = {.count = 1, .reusable = true}, SHIFT(839),
  [927] = {.count = 1, .reusable = false}, SHIFT(1121),
  [929] = {.count = 1, .reusable = true}, SHIFT(834),
  [931] = {.count = 1, .reusable = true}, SHIFT(2295),
  [933] = {.count = 1, .reusable = true}, REDUCE(sym__argument_list_with_trailing_comma, 2),
  [935] = {.count = 1, .reusable = true}, SHIFT(1156),
  [937] = {.count = 1, .reusable = true}, SHIFT(931),
  [939] = {.count = 1, .reusable = true}, SHIFT(903),
  [941] = {.count = 1, .reusable = true}, SHIFT(1517),
  [943] = {.count = 1, .reusable = true}, SHIFT(1514),
  [945] = {.count = 1, .reusable = true}, SHIFT(1115),
  [947] = {.count = 1, .reusable = true}, SHIFT(312),
  [949] = {.count = 1, .reusable = true}, SHIFT(2184),
  [951] = {.count = 1, .reusable = true}, SHIFT(2635),
  [953] = {.count = 1, .reusable = true}, SHIFT(1033),
  [955] = {.count = 1, .reusable = true}, SHIFT(374),
  [957] = {.count = 1, .reusable = true}, SHIFT(1406),
  [959] = {.count = 1, .reusable = true}, SHIFT(1052),
  [961] = {.count = 1, .reusable = true}, SHIFT(1004),
  [963] = {.count = 1, .reusable = true}, SHIFT(1013),
  [965] = {.count = 1, .reusable = false}, SHIFT(883),
  [967] = {.count = 1, .reusable = true}, SHIFT(2747),
  [969] = {.count = 1, .reusable = false}, SHIFT(144),
  [971] = {.count = 1, .reusable = true}, SHIFT(864),
  [973] = {.count = 1, .reusable = false}, SHIFT(683),
  [975] = {.count = 1, .reusable = true}, SHIFT(597),
  [977] = {.count = 1, .reusable = false}, SHIFT(689),
  [979] = {.count = 1, .reusable = true}, SHIFT(695),
  [981] = {.count = 1, .reusable = false}, SHIFT(1574),
  [983] = {.count = 1, .reusable = true}, SHIFT(883),
  [985] = {.count = 1, .reusable = true}, SHIFT(542),
  [987] = {.count = 1, .reusable = true}, SHIFT(683),
  [989] = {.count = 1, .reusable = true}, SHIFT(1513),
  [991] = {.count = 1, .reusable = true}, SHIFT(340),
  [993] = {.count = 1, .reusable = true}, SHIFT(972),
  [995] = {.count = 1, .reusable = false}, SHIFT(875),
  [997] = {.count = 1, .reusable = true}, SHIFT(596),
  [999] = {.count = 1, .reusable = false}, SHIFT(530),
  [1001] = {.count = 1, .reusable = false}, SHIFT(876),
  [1003] = {.count = 1, .reusable = true}, SHIFT(635),
  [1005] = {.count = 1, .reusable = false}, SHIFT(965),
  [1007] = {.count = 1, .reusable = true}, SHIFT(2878),
  [1009] = {.count = 1, .reusable = true}, SHIFT(809),
  [1011] = {.count = 1, .reusable = false}, SHIFT(814),
  [1013] = {.count = 1, .reusable = false}, SHIFT(1548),
  [1015] = {.count = 1, .reusable = true}, SHIFT(1548),
  [1017] = {.count = 1, .reusable = false}, SHIFT(953),
  [1019] = {.count = 1, .reusable = true}, SHIFT(953),
  [1021] = {.count = 1, .reusable = false}, SHIFT(967),
  [1023] = {.count = 1, .reusable = true}, SHIFT(827),
  [1025] = {.count = 1, .reusable = false}, SHIFT(761),
  [1027] = {.count = 1, .reusable = false}, SHIFT(952),
  [1029] = {.count = 1, .reusable = true}, SHIFT(952),
  [1031] = {.count = 1, .reusable = false}, SHIFT(708),
  [1033] = {.count = 1, .reusable = true}, SHIFT(2613),
  [1035] = {.count = 1, .reusable = false}, SHIFT(563),
  [1037] = {.count = 1, .reusable = true}, SHIFT(586),
  [1039] = {.count = 1, .reusable = false}, SHIFT(587),
  [1041] = {.count = 1, .reusable = true}, SHIFT(588),
  [1043] = {.count = 1, .reusable = true}, SHIFT(563),
  [1045] = {.count = 1, .reusable = true}, SHIFT(1073),
  [1047] = {.count = 1, .reusable = true}, SHIFT(1075),
  [1049] = {.count = 1, .reusable = true}, SHIFT(2645),
  [1051] = {.count = 1, .reusable = true}, SHIFT(1464),
  [1053] = {.count = 1, .reusable = true}, SHIFT(1503),
  [1055] = {.count = 1, .reusable = true}, SHIFT(1140),
  [1057] = {.count = 1, .reusable = true}, SHIFT(1416),
  [1059] = {.count = 1, .reusable = true}, SHIFT(2566),
  [1061] = {.count = 1, .reusable = true}, SHIFT(1443),
  [1063] = {.count = 1, .reusable = false}, SHIFT(835),
  [1065] = {.count = 1, .reusable = true}, SHIFT(1530),
  [1067] = {.count = 1, .reusable = false}, SHIFT(763),
  [1069] = {.count = 1, .reusable = true}, SHIFT(1383),
  [1071] = {.count = 1, .reusable = false}, SHIFT(887),
  [1073] = {.count = 1, .reusable = true}, SHIFT(2738),
  [1075] = {.count = 1, .reusable = false}, SHIFT(717),
  [1077] = {.count = 1, .reusable = true}, SHIFT(709),
  [1079] = {.count = 1, .reusable = false}, SHIFT(703),
  [1081] = {.count = 1, .reusable = true}, SHIFT(701),
  [1083] = {.count = 1, .reusable = true}, SHIFT(887),
  [1085] = {.count = 1, .reusable = true}, SHIFT(477),
  [1087] = {.count = 1, .reusable = true}, SHIFT(717),
  [1089] = {.count = 1, .reusable = false}, SHIFT(1019),
  [1091] = {.count = 1, .reusable = true}, SHIFT(2762),
  [1093] = {.count = 1, .reusable = false}, SHIFT(702),
  [1095] = {.count = 1, .reusable = true}, SHIFT(704),
  [1097] = {.count = 1, .reusable = false}, SHIFT(705),
  [1099] = {.count = 1, .reusable = true}, SHIFT(706),
  [1101] = {.count = 1, .reusable = false}, SHIFT(1042),
  [1103] = {.count = 1, .reusable = true}, SHIFT(1019),
  [1105] = {.count = 1, .reusable = true}, SHIFT(2452),
  [1107] = {.count = 1, .reusable = true}, SHIFT(612),
  [1109] = {.count = 1, .reusable = true}, SHIFT(702),
  [1111] = {.count = 1, .reusable = true}, SHIFT(2631),
  [1113] = {.count = 1, .reusable = false}, SHIFT(455),
  [1115] = {.count = 1, .reusable = true}, SHIFT(453),
  [1117] = {.count = 1, .reusable = false}, SHIFT(452),
  [1119] = {.count = 1, .reusable = true}, SHIFT(450),
  [1121] = {.count = 1, .reusable = true}, SHIFT(455),
  [1123] = {.count = 1, .reusable = false}, SHIFT(650),
  [1125] = {.count = 1, .reusable = true}, SHIFT(652),
  [1127] = {.count = 1, .reusable = false}, SHIFT(653),
  [1129] = {.count = 1, .reusable = true}, SHIFT(656),
  [1131] = {.count = 1, .reusable = true}, SHIFT(438),
  [1133] = {.count = 1, .reusable = true}, SHIFT(650),
  [1135] = {.count = 1, .reusable = true}, SHIFT(393),
  [1137] = {.count = 1, .reusable = false}, SHIFT(700),
  [1139] = {.count = 1, .reusable = true}, SHIFT(698),
  [1141] = {.count = 1, .reusable = false}, SHIFT(697),
  [1143] = {.count = 1, .reusable = true}, SHIFT(681),
  [1145] = {.count = 1, .reusable = true}, SHIFT(725),
  [1147] = {.count = 1, .reusable = true}, SHIFT(700),
  [1149] = {.count = 1, .reusable = true}, REDUCE(sym_keyword_parameter, 2, .production_id = 20),
  [1151] = {.count = 1, .reusable = false}, SHIFT(616),
  [1153] = {.count = 1, .reusable = true}, SHIFT(615),
  [1155] = {.count = 1, .reusable = false}, SHIFT(614),
  [1157] = {.count = 1, .reusable = true}, SHIFT(613),
  [1159] = {.count = 1, .reusable = true}, SHIFT(616),
  [1161] = {.count = 1, .reusable = true}, SHIFT(738),
  [1163] = {.count = 1, .reusable = true}, SHIFT(602),
  [1165] = {.count = 1, .reusable = true}, SHIFT(633),
  [1167] = {.count = 1, .reusable = true}, SHIFT(460),
  [1169] = {.count = 1, .reusable = false}, SHIFT(710),
  [1171] = {.count = 1, .reusable = true}, SHIFT(724),
  [1173] = {.count = 1, .reusable = false}, SHIFT(687),
  [1175] = {.count = 1, .reusable = true}, SHIFT(731),
  [1177] = {.count = 1, .reusable = true}, SHIFT(710),
  [1179] = {.count = 1, .reusable = true}, SHIFT(806),
  [1181] = {.count = 1, .reusable = false}, SHIFT(955),
  [1183] = {.count = 1, .reusable = true}, SHIFT(2873),
  [1185] = {.count = 1, .reusable = false}, SHIFT(759),
  [1187] = {.count = 1, .reusable = true}, SHIFT(753),
  [1189] = {.count = 1, .reusable = false}, SHIFT(755),
  [1191] = {.count = 1, .reusable = true}, SHIFT(756),
  [1193] = {.count = 1, .reusable = false}, SHIFT(1558),
  [1195] = {.count = 1, .reusable = true}, SHIFT(1558),
  [1197] = {.count = 1, .reusable = false}, SHIFT(1025),
  [1199] = {.count = 1, .reusable = true}, SHIFT(955),
  [1201] = {.count = 1, .reusable = true}, SHIFT(759),
  [1203] = {.count = 1, .reusable = false}, SHIFT(956),
  [1205] = {.count = 1, .reusable = false}, SHIFT(1094),
  [1207] = {.count = 1, .reusable = true}, SHIFT(956),
  [1209] = {.count = 1, .reusable = true}, SHIFT(833),
  [1211] = {.count = 1, .reusable = false}, REDUCE(sym_keyword_parameter, 2, .production_id = 20),
  [1213] = {.count = 1, .reusable = false}, SHIFT(390),
  [1215] = {.count = 1, .reusable = true}, SHIFT(678),
  [1217] = {.count = 1, .reusable = false}, SHIFT(676),
  [1219] = {.count = 1, .reusable = true}, SHIFT(675),
  [1221] = {.count = 1, .reusable = false}, SHIFT(1575),
  [1223] = {.count = 1, .reusable = false}, SHIFT(1086),
  [1225] = {.count = 1, .reusable = true}, SHIFT(390),
  [1227] = {.count = 1, .reusable = false}, SHIFT(442),
  [1229] = {.count = 1, .reusable = true}, SHIFT(441),
  [1231] = {.count = 1, .reusable = false}, SHIFT(440),
  [1233] = {.count = 1, .reusable = true}, SHIFT(439),
  [1235] = {.count = 1, .reusable = true}, SHIFT(442),
  [1237] = {.count = 1, .reusable = false}, SHIFT(598),
  [1239] = {.count = 1, .reusable = true}, SHIFT(599),
  [1241] = {.count = 1, .reusable = false}, SHIFT(600),
  [1243] = {.count = 1, .reusable = true}, SHIFT(601),
  [1245] = {.count = 1, .reusable = true}, SHIFT(598),
  [1247] = {.count = 1, .reusable = false}, SHIFT(1056),
  [1249] = {.count = 1, .reusable = false}, SHIFT(1363),
  [1251] = {.count = 1, .reusable = false}, SHIFT(1499),
  [1253] = {.count = 1, .reusable = false}, SHIFT(1174),
  [1255] = {.count = 1, .reusable = false}, SHIFT(1365),
  [1257] = {.count = 1, .reusable = false}, SHIFT(1463),
  [1259] = {.count = 1, .reusable = false}, SHIFT(2168),
  [1261] = {.count = 1, .reusable = true}, SHIFT(314),
  [1263] = {.count = 1, .reusable = false}, SHIFT(1340),
  [1265] = {.count = 1, .reusable = true}, SHIFT(172),
  [1267] = {.count = 1, .reusable = true}, REDUCE(sym__mlhs, 2),
  [1269] = {.count = 1, .reusable = true}, SHIFT(2763),
  [1271] = {.count = 1, .reusable = false}, SHIFT(861),
  [1273] = {.count = 1, .reusable = false}, SHIFT(867),
  [1275] = {.count = 1, .reusable = false}, SHIFT(2377),
  [1277] = {.count = 1, .reusable = false}, SHIFT(2374),
  [1279] = {.count = 1, .reusable = false}, SHIFT(2424),
  [1281] = {.count = 1, .reusable = false}, SHIFT(2390),
  [1283] = {.count = 1, .reusable = false}, SHIFT(2458),
  [1285] = {.count = 1, .reusable = false}, SHIFT(2460),
  [1287] = {.count = 1, .reusable = false}, SHIFT(204),
  [1289] = {.count = 1, .reusable = false}, SHIFT(198),
  [1291] = {.count = 1, .reusable = false}, SHIFT(511),
  [1293] = {.count = 1, .reusable = false}, SHIFT(510),
  [1295] = {.count = 1, .reusable = false}, SHIFT(858),
  [1297] = {.count = 1, .reusable = false}, SHIFT(356),
  [1299] = {.count = 1, .reusable = false}, SHIFT(61),
  [1301] = {.count = 1, .reusable = false}, SHIFT(2759),
  [1303] = {.count = 1, .reusable = true}, SHIFT(2761),
  [1305] = {.count = 1, .reusable = false}, SHIFT(2761),
  [1307] = {.count = 1, .reusable = false}, SHIFT(2491),
  [1309] = {.count = 1, .reusable = false}, SHIFT(2648),
  [1311] = {.count = 1, .reusable = true}, SHIFT(2648),
  [1313] = {.count = 1, .reusable = false}, SHIFT(2283),
  [1315] = {.count = 1, .reusable = true}, SHIFT(2168),
  [1317] = {.count = 1, .reusable = true}, SHIFT(255),
  [1319] = {.count = 1, .reusable = true}, SHIFT(2123),
  [1321] = {.count = 1, .reusable = true}, SHIFT(2664),
  [1323] = {.count = 1, .reusable = true}, SHIFT(2464),
  [1325] = {.count = 1, .reusable = true}, SHIFT(2451),
  [1327] = {.count = 1, .reusable = true}, SHIFT(2457),
  [1329] = {.count = 1, .reusable = true}, SHIFT(2453),
  [1331] = {.count = 1, .reusable = true}, SHIFT(2312),
  [1333] = {.count = 1, .reusable = true}, SHIFT(2329),
  [1335] = {.count = 1, .reusable = true}, SHIFT(2759),
  [1337] = {.count = 1, .reusable = true}, REDUCE(sym__mlhs, 3),
  [1339] = {.count = 1, .reusable = true}, SHIFT(181),
  [1341] = {.count = 1, .reusable = true}, REDUCE(sym_rest_assignment, 1),
  [1343] = {.count = 1, .reusable = false}, REDUCE(sym_rest_assignment, 1),
  [1345] = {.count = 1, .reusable = true}, SHIFT(2771),
  [1347] = {.count = 1, .reusable = false}, SHIFT(2156),
  [1349] = {.count = 1, .reusable = true}, SHIFT(532),
  [1351] = {.count = 1, .reusable = false}, SHIFT(2159),
  [1353] = {.count = 1, .reusable = true}, SHIFT(506),
  [1355] = {.count = 1, .reusable = false}, SHIFT(2160),
  [1357] = {.count = 1, .reusable = true}, SHIFT(622),
  [1359] = {.count = 1, .reusable = false}, SHIFT(2164),
  [1361] = {.count = 1, .reusable = false}, SHIFT(2207),
  [1363] = {.count = 1, .reusable = false}, SHIFT(2302),
  [1365] = {.count = 1, .reusable = true}, SHIFT(2207),
  [1367] = {.count = 1, .reusable = false}, SHIFT(2177),
  [1369] = {.count = 1, .reusable = true}, SHIFT(840),
  [1371] = {.count = 1, .reusable = false}, SHIFT(2165),
  [1373] = {.count = 1, .reusable = false}, SHIFT(2185),
  [1375] = {.count = 1, .reusable = false}, SHIFT(2208),
  [1377] = {.count = 1, .reusable = true}, SHIFT(159),
  [1379] = {.count = 1, .reusable = true}, SHIFT(23),
  [1381] = {.count = 1, .reusable = true}, SHIFT(161),
  [1383] = {.count = 1, .reusable = true}, SHIFT(28),
  [1385] = {.count = 1, .reusable = true}, REDUCE(sym_method_call, 2, .production_id = 8),
  [1387] = {.count = 1, .reusable = false}, REDUCE(sym_method_call, 2, .production_id = 8),
  [1389] = {.count = 1, .reusable = true}, REDUCE(sym__primary, 1),
  [1391] = {.count = 1, .reusable = false}, REDUCE(sym__primary, 1),
  [1393] = {.count = 1, .reusable = false}, SHIFT(344),
  [1395] = {.count = 1, .reusable = true}, SHIFT(660),
  [1397] = {.count = 1, .reusable = true}, REDUCE(sym_do_block, 4),
  [1399] = {.count = 1, .reusable = false}, REDUCE(sym_do_block, 4),
  [1401] = {.count = 1, .reusable = true}, REDUCE(sym_do_block, 2),
  [1403] = {.count = 1, .reusable = false}, REDUCE(sym_do_block, 2),
  [1405] = {.count = 1, .reusable = true}, REDUCE(sym_do_block, 5),
  [1407] = {.count = 1, .reusable = false}, REDUCE(sym_do_block, 5),
  [1409] = {.count = 1, .reusable = false}, SHIFT(359),
  [1411] = {.count = 1, .reusable = true}, SHIFT(657),
  [1413] = {.count = 1, .reusable = true}, REDUCE(sym_block, 2),
  [1415] = {.count = 1, .reusable = true}, REDUCE(sym_hash, 2),
  [1417] = {.count = 1, .reusable = false}, REDUCE(sym_block, 2),
  [1419] = {.count = 1, .reusable = true}, REDUCE(sym_block, 3),
  [1421] = {.count = 1, .reusable = false}, REDUCE(sym_block, 3),
  [1423] = {.count = 1, .reusable = true}, REDUCE(sym_do_block, 3),
  [1425] = {.count = 1, .reusable = false}, REDUCE(sym_do_block, 3),
  [1427] = {.count = 1, .reusable = true}, REDUCE(sym_block, 4),
  [1429] = {.count = 1, .reusable = false}, REDUCE(sym_block, 4),
  [1431] = {.count = 1, .reusable = true}, REDUCE(sym__body_statement, 3),
  [1433] = {.count = 1, .reusable = false}, REDUCE(sym__body_statement, 3),
  [1435] = {.count = 1, .reusable = true}, REDUCE(sym_element_reference, 4, .production_id = 26),
  [1437] = {.count = 1, .reusable = false}, REDUCE(sym_element_reference, 4, .production_id = 26),
  [1439] = {.count = 1, .reusable = true}, REDUCE(sym__body_statement, 1),
  [1441] = {.count = 1, .reusable = false}, REDUCE(sym__body_statement, 1),
  [1443] = {.count = 1, .reusable = true}, REDUCE(sym_element_reference, 3, .production_id = 26),
  [1445] = {.count = 1, .reusable = false}, REDUCE(sym_element_reference, 3, .production_id = 26),
  [1447] = {.count = 1, .reusable = true}, REDUCE(sym_method_call, 2, .production_id = 9),
  [1449] = {.count = 1, .reusable = false}, REDUCE(sym_method_call, 2, .production_id = 9),
  [1451] = {.count = 1, .reusable = true}, REDUCE(sym__body_statement, 2),
  [1453] = {.count = 1, .reusable = false}, REDUCE(sym__body_statement, 2),
  [1455] = {.count = 1, .reusable = true}, REDUCE(sym_method_call, 3, .production_id = 28),
  [1457] = {.count = 1, .reusable = false}, REDUCE(sym_method_call, 3, .production_id = 28),
  [1459] = {.count = 1, .reusable = false}, SHIFT(352),
  [1461] = {.count = 1, .reusable = true}, SHIFT(508),
  [1463] = {.count = 1, .reusable = true}, SHIFT(851),
  [1465] = {.count = 1, .reusable = false}, SHIFT(355),
  [1467] = {.count = 1, .reusable = true}, SHIFT(732),
  [1469] = {.count = 1, .reusable = false}, REDUCE(sym__terminator, 1),
  [1471] = {.count = 1, .reusable = true}, REDUCE(sym__terminator, 1),
  [1473] = {.count = 1, .reusable = false}, SHIFT(334),
  [1475] = {.count = 1, .reusable = true}, SHIFT(584),
  [1477] = {.count = 1, .reusable = false}, SHIFT(226),
  [1479] = {.count = 1, .reusable = true}, SHIFT(267),
  [1481] = {.count = 1, .reusable = false}, SHIFT(227),
  [1483] = {.count = 1, .reusable = true}, SHIFT(272),
  [1485] = {.count = 1, .reusable = false}, REDUCE(aux_sym__statements_repeat1, 1),
  [1487] = {.count = 1, .reusable = true}, REDUCE(aux_sym__statements_repeat1, 1),
  [1489] = {.count = 1, .reusable = false}, REDUCE(sym_empty_statement, 1),
  [1491] = {.count = 1, .reusable = true}, REDUCE(sym_empty_statement, 1),
  [1493] = {.count = 1, .reusable = false}, REDUCE(sym_parameters, 3),
  [1495] = {.count = 1, .reusable = true}, REDUCE(sym_parameters, 3),
  [1497] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 8),
  [1499] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 8),
  [1501] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 7),
  [1503] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 7),
  [1505] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 6),
  [1507] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 6),
  [1509] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 5),
  [1511] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 5),
  [1513] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 3),
  [1515] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 3),
  [1517] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 2),
  [1519] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 2),
  [1521] = {.count = 1, .reusable = false}, REDUCE(sym_parameters, 4),
  [1523] = {.count = 1, .reusable = true}, REDUCE(sym_parameters, 4),
  [1525] = {.count = 1, .reusable = false}, REDUCE(sym_block_parameters, 4),
  [1527] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameters, 4),
  [1529] = {.count = 1, .reusable = false}, REDUCE(sym_parameters, 2),
  [1531] = {.count = 1, .reusable = true}, REDUCE(sym_parameters, 2),
  [1533] = {.count = 1, .reusable = true}, SHIFT(167),
  [1535] = {.count = 1, .reusable = true}, SHIFT(31),
  [1537] = {.count = 1, .reusable = true}, SHIFT(164),
  [1539] = {.count = 1, .reusable = true}, SHIFT(26),
  [1541] = {.count = 1, .reusable = true}, SHIFT(232),
  [1543] = {.count = 1, .reusable = true}, SHIFT(168),
  [1545] = {.count = 1, .reusable = true}, SHIFT(33),
  [1547] = {.count = 1, .reusable = false}, SHIFT(339),
  [1549] = {.count = 1, .reusable = true}, SHIFT(551),
  [1551] = {.count = 1, .reusable = false}, SHIFT(228),
  [1553] = {.count = 1, .reusable = true}, SHIFT(270),
  [1555] = {.count = 1, .reusable = false}, SHIFT(223),
  [1557] = {.count = 1, .reusable = true}, SHIFT(276),
  [1559] = {.count = 1, .reusable = false}, SHIFT(623),
  [1561] = {.count = 1, .reusable = false}, SHIFT(225),
  [1563] = {.count = 1, .reusable = true}, SHIFT(274),
  [1565] = {.count = 1, .reusable = false}, SHIFT(224),
  [1567] = {.count = 1, .reusable = true}, SHIFT(273),
  [1569] = {.count = 1, .reusable = true}, SHIFT(165),
  [1571] = {.count = 1, .reusable = true}, SHIFT(29),
  [1573] = {.count = 1, .reusable = true}, SHIFT(246),
  [1575] = {.count = 1, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2),
  [1577] = {.count = 1, .reusable = false}, REDUCE(aux_sym_chained_string_repeat1, 2),
  [1579] = {.count = 2, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2), SHIFT_REPEAT(2376),
  [1582] = {.count = 1, .reusable = true}, REDUCE(sym_chained_string, 2),
  [1584] = {.count = 1, .reusable = false}, REDUCE(sym_chained_string, 2),
  [1586] = {.count = 1, .reusable = false}, SHIFT(375),
  [1588] = {.count = 1, .reusable = true}, SHIFT(803),
  [1590] = {.count = 1, .reusable = true}, REDUCE(sym_string, 3, .production_id = 10),
  [1592] = {.count = 1, .reusable = false}, REDUCE(sym_string, 3, .production_id = 10),
  [1594] = {.count = 1, .reusable = true}, REDUCE(sym_redo, 1),
  [1596] = {.count = 1, .reusable = false}, REDUCE(sym_redo, 1),
  [1598] = {.count = 1, .reusable = true}, REDUCE(sym_string, 2, .production_id = 1),
  [1600] = {.count = 1, .reusable = false}, REDUCE(sym_string, 2, .production_id = 1),
  [1602] = {.count = 1, .reusable = false}, SHIFT(369),
  [1604] = {.count = 1, .reusable = true}, SHIFT(757),
  [1606] = {.count = 1, .reusable = true}, REDUCE(sym_retry, 1),
  [1608] = {.count = 1, .reusable = false}, REDUCE(sym_retry, 1),
  [1610] = {.count = 1, .reusable = false}, SHIFT(729),
  [1612] = {.count = 1, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 1),
  [1614] = {.count = 1, .reusable = false}, REDUCE(aux_sym_chained_string_repeat1, 1),
  [1616] = {.count = 1, .reusable = false}, SHIFT(364),
  [1618] = {.count = 1, .reusable = true}, SHIFT(837),
  [1620] = {.count = 1, .reusable = false}, SHIFT(1160),
  [1622] = {.count = 1, .reusable = true}, REDUCE(sym_unary_literal, 2),
  [1624] = {.count = 1, .reusable = false}, REDUCE(sym_unary_literal, 2),
  [1626] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 5, .production_id = 54),
  [1628] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 5, .production_id = 54),
  [1630] = {.count = 1, .reusable = true}, REDUCE(sym_yield, 2),
  [1632] = {.count = 1, .reusable = false}, REDUCE(sym_yield, 2),
  [1634] = {.count = 1, .reusable = true}, REDUCE(sym_hash, 4),
  [1636] = {.count = 1, .reusable = false}, REDUCE(sym_hash, 4),
  [1638] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 3, .production_id = 15),
  [1640] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 3, .production_id = 15),
  [1642] = {.count = 1, .reusable = false}, REDUCE(sym_hash, 2),
  [1644] = {.count = 1, .reusable = true}, REDUCE(sym_symbol, 1),
  [1646] = {.count = 1, .reusable = false}, REDUCE(sym_symbol, 1),
  [1648] = {.count = 1, .reusable = true}, REDUCE(sym_case, 6),
  [1650] = {.count = 1, .reusable = false}, REDUCE(sym_case, 6),
  [1652] = {.count = 1, .reusable = true}, REDUCE(sym_parenthesized_unary, 2),
  [1654] = {.count = 1, .reusable = false}, REDUCE(sym_parenthesized_unary, 2),
  [1656] = {.count = 1, .reusable = true}, REDUCE(sym_case, 6, .production_id = 45),
  [1658] = {.count = 1, .reusable = false}, REDUCE(sym_case, 6, .production_id = 45),
  [1660] = {.count = 1, .reusable = true}, REDUCE(sym__method_rest, 4, .production_id = 40),
  [1662] = {.count = 1, .reusable = false}, REDUCE(sym__method_rest, 4, .production_id = 40),
  [1664] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 3, .production_id = 14),
  [1666] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 3, .production_id = 14),
  [1668] = {.count = 1, .reusable = true}, REDUCE(sym_case, 7, .production_id = 45),
  [1670] = {.count = 1, .reusable = false}, REDUCE(sym_case, 7, .production_id = 45),
  [1672] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 3, .production_id = 13),
  [1674] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 3, .production_id = 13),
  [1676] = {.count = 1, .reusable = true}, REDUCE(sym_regex, 3, .production_id = 12),
  [1678] = {.count = 1, .reusable = false}, REDUCE(sym_regex, 3, .production_id = 12),
  [1680] = {.count = 1, .reusable = true}, REDUCE(sym_parenthesized_statements, 2),
  [1682] = {.count = 1, .reusable = false}, REDUCE(sym_parenthesized_statements, 2),
  [1684] = {.count = 1, .reusable = true}, REDUCE(sym_singleton_class, 5, .production_id = 55),
  [1686] = {.count = 1, .reusable = false}, REDUCE(sym_singleton_class, 5, .production_id = 55),
  [1688] = {.count = 1, .reusable = true}, REDUCE(sym_class, 5, .production_id = 6),
  [1690] = {.count = 1, .reusable = false}, REDUCE(sym_class, 5, .production_id = 6),
  [1692] = {.count = 1, .reusable = false}, SHIFT(385),
  [1694] = {.count = 1, .reusable = true}, SHIFT(785),
  [1696] = {.count = 1, .reusable = true}, REDUCE(sym_if, 5, .production_id = 56),
  [1698] = {.count = 1, .reusable = false}, REDUCE(sym_if, 5, .production_id = 56),
  [1700] = {.count = 1, .reusable = true}, REDUCE(sym_method, 2, .production_id = 5),
  [1702] = {.count = 1, .reusable = false}, REDUCE(sym_method, 2, .production_id = 5),
  [1704] = {.count = 1, .reusable = true}, REDUCE(sym_subshell, 3, .production_id = 11),
  [1706] = {.count = 1, .reusable = false}, REDUCE(sym_subshell, 3, .production_id = 11),
  [1708] = {.count = 1, .reusable = true}, REDUCE(sym_symbol, 3, .production_id = 10),
  [1710] = {.count = 1, .reusable = false}, REDUCE(sym_symbol, 3, .production_id = 10),
  [1712] = {.count = 1, .reusable = true}, REDUCE(sym_if, 5, .production_id = 57),
  [1714] = {.count = 1, .reusable = false}, REDUCE(sym_if, 5, .production_id = 57),
  [1716] = {.count = 1, .reusable = true}, REDUCE(sym_singleton_method, 4, .production_id = 39),
  [1718] = {.count = 1, .reusable = false}, REDUCE(sym_singleton_method, 4, .production_id = 39),
  [1720] = {.count = 1, .reusable = true}, REDUCE(sym_singleton_method, 6, .production_id = 65),
  [1722] = {.count = 1, .reusable = false}, REDUCE(sym_singleton_method, 6, .production_id = 65),
  [1724] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 6, .production_id = 64),
  [1726] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 6, .production_id = 64),
  [1728] = {.count = 1, .reusable = true}, REDUCE(sym__method_rest, 3, .production_id = 40),
  [1730] = {.count = 1, .reusable = false}, REDUCE(sym__method_rest, 3, .production_id = 40),
  [1732] = {.count = 1, .reusable = true}, REDUCE(sym_unless, 5, .production_id = 56),
  [1734] = {.count = 1, .reusable = false}, REDUCE(sym_unless, 5, .production_id = 56),
  [1736] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 3, .production_id = 13),
  [1738] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 3, .production_id = 13),
  [1740] = {.count = 1, .reusable = true}, REDUCE(sym_hash, 3),
  [1742] = {.count = 1, .reusable = false}, REDUCE(sym_hash, 3),
  [1744] = {.count = 1, .reusable = true}, REDUCE(sym_parenthesized_statements, 3),
  [1746] = {.count = 1, .reusable = false}, REDUCE(sym_parenthesized_statements, 3),
  [1748] = {.count = 1, .reusable = true}, REDUCE(sym_module, 3, .production_id = 6),
  [1750] = {.count = 1, .reusable = false}, REDUCE(sym_module, 3, .production_id = 6),
  [1752] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 5, .production_id = 53),
  [1754] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 5, .production_id = 53),
  [1756] = {.count = 1, .reusable = false}, SHIFT(247),
  [1758] = {.count = 1, .reusable = true}, SHIFT(291),
  [1760] = {.count = 1, .reusable = true}, REDUCE(sym__method_rest, 3, .production_id = 20),
  [1762] = {.count = 1, .reusable = false}, REDUCE(sym__method_rest, 3, .production_id = 20),
  [1764] = {.count = 1, .reusable = true}, REDUCE(sym_unless, 5, .production_id = 57),
  [1766] = {.count = 1, .reusable = false}, REDUCE(sym_unless, 5, .production_id = 57),
  [1768] = {.count = 1, .reusable = true}, REDUCE(sym_while, 3, .production_id = 16),
  [1770] = {.count = 1, .reusable = false}, REDUCE(sym_while, 3, .production_id = 16),
  [1772] = {.count = 1, .reusable = true}, REDUCE(sym_array, 2),
  [1774] = {.count = 1, .reusable = false}, REDUCE(sym_array, 2),
  [1776] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 5, .production_id = 52),
  [1778] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 5, .production_id = 52),
  [1780] = {.count = 1, .reusable = false}, SHIFT(243),
  [1782] = {.count = 1, .reusable = true}, SHIFT(289),
  [1784] = {.count = 1, .reusable = true}, REDUCE(sym_class, 4, .production_id = 6),
  [1786] = {.count = 1, .reusable = false}, REDUCE(sym_class, 4, .production_id = 6),
  [1788] = {.count = 1, .reusable = true}, REDUCE(sym_do, 3),
  [1790] = {.count = 1, .reusable = false}, REDUCE(sym_do, 3),
  [1792] = {.count = 1, .reusable = true}, REDUCE(sym_module, 4, .production_id = 6),
  [1794] = {.count = 1, .reusable = false}, REDUCE(sym_module, 4, .production_id = 6),
  [1796] = {.count = 1, .reusable = true}, REDUCE(sym_for, 5, .production_id = 58),
  [1798] = {.count = 1, .reusable = false}, REDUCE(sym_for, 5, .production_id = 58),
  [1800] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 5, .production_id = 51),
  [1802] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 5, .production_id = 51),
  [1804] = {.count = 1, .reusable = true}, REDUCE(sym_return, 2),
  [1806] = {.count = 1, .reusable = false}, REDUCE(sym_return, 2),
  [1808] = {.count = 1, .reusable = true}, REDUCE(sym_if, 4, .production_id = 41),
  [1810] = {.count = 1, .reusable = false}, REDUCE(sym_if, 4, .production_id = 41),
  [1812] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 4, .production_id = 35),
  [1814] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 4, .production_id = 35),
  [1816] = {.count = 1, .reusable = true}, REDUCE(sym_if, 4, .production_id = 17),
  [1818] = {.count = 1, .reusable = false}, REDUCE(sym_if, 4, .production_id = 17),
  [1820] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 4, .production_id = 34),
  [1822] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 4, .production_id = 34),
  [1824] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 4, .production_id = 30),
  [1826] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 4, .production_id = 30),
  [1828] = {.count = 1, .reusable = true}, REDUCE(sym_unless, 4, .production_id = 41),
  [1830] = {.count = 1, .reusable = false}, REDUCE(sym_unless, 4, .production_id = 41),
  [1832] = {.count = 1, .reusable = true}, REDUCE(sym_unless, 4, .production_id = 17),
  [1834] = {.count = 1, .reusable = false}, REDUCE(sym_unless, 4, .production_id = 17),
  [1836] = {.count = 1, .reusable = true}, REDUCE(sym_symbol_array, 2, .production_id = 4),
  [1838] = {.count = 1, .reusable = false}, REDUCE(sym_symbol_array, 2, .production_id = 4),
  [1840] = {.count = 1, .reusable = true}, REDUCE(sym_until, 3, .production_id = 16),
  [1842] = {.count = 1, .reusable = false}, REDUCE(sym_until, 3, .production_id = 16),
  [1844] = {.count = 1, .reusable = true}, REDUCE(sym_hash, 5),
  [1846] = {.count = 1, .reusable = false}, REDUCE(sym_hash, 5),
  [1848] = {.count = 1, .reusable = true}, REDUCE(sym_begin, 2),
  [1850] = {.count = 1, .reusable = false}, REDUCE(sym_begin, 2),
  [1852] = {.count = 1, .reusable = true}, REDUCE(sym_break, 2),
  [1854] = {.count = 1, .reusable = false}, REDUCE(sym_break, 2),
  [1856] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 2, .production_id = 4),
  [1858] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 2, .production_id = 4),
  [1860] = {.count = 1, .reusable = true}, REDUCE(sym_case, 3),
  [1862] = {.count = 1, .reusable = false}, REDUCE(sym_case, 3),
  [1864] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 6, .production_id = 63),
  [1866] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 6, .production_id = 63),
  [1868] = {.count = 1, .reusable = true}, REDUCE(sym_array, 3),
  [1870] = {.count = 1, .reusable = false}, REDUCE(sym_array, 3),
  [1872] = {.count = 1, .reusable = true}, REDUCE(sym_next, 2),
  [1874] = {.count = 1, .reusable = false}, REDUCE(sym_next, 2),
  [1876] = {.count = 1, .reusable = true}, REDUCE(sym_redo, 2),
  [1878] = {.count = 1, .reusable = false}, REDUCE(sym_redo, 2),
  [1880] = {.count = 1, .reusable = true}, REDUCE(sym_retry, 2),
  [1882] = {.count = 1, .reusable = false}, REDUCE(sym_retry, 2),
  [1884] = {.count = 1, .reusable = true}, REDUCE(sym_regex, 2, .production_id = 3),
  [1886] = {.count = 1, .reusable = false}, REDUCE(sym_regex, 2, .production_id = 3),
  [1888] = {.count = 1, .reusable = true}, REDUCE(sym_begin, 3),
  [1890] = {.count = 1, .reusable = false}, REDUCE(sym_begin, 3),
  [1892] = {.count = 1, .reusable = true}, REDUCE(sym_case, 5, .production_id = 45),
  [1894] = {.count = 1, .reusable = false}, REDUCE(sym_case, 5, .production_id = 45),
  [1896] = {.count = 1, .reusable = true}, REDUCE(sym_do, 2),
  [1898] = {.count = 1, .reusable = false}, REDUCE(sym_do, 2),
  [1900] = {.count = 1, .reusable = true}, REDUCE(sym_subshell, 2, .production_id = 2),
  [1902] = {.count = 1, .reusable = false}, REDUCE(sym_subshell, 2, .production_id = 2),
  [1904] = {.count = 1, .reusable = true}, REDUCE(sym_case, 5),
  [1906] = {.count = 1, .reusable = false}, REDUCE(sym_case, 5),
  [1908] = {.count = 1, .reusable = true}, REDUCE(sym_rational, 2),
  [1910] = {.count = 1, .reusable = false}, REDUCE(sym_rational, 2),
  [1912] = {.count = 1, .reusable = true}, REDUCE(sym_for, 4, .production_id = 43),
  [1914] = {.count = 1, .reusable = false}, REDUCE(sym_for, 4, .production_id = 43),
  [1916] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 4, .production_id = 32),
  [1918] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 4, .production_id = 32),
  [1920] = {.count = 1, .reusable = true}, REDUCE(sym_case, 4, .production_id = 45),
  [1922] = {.count = 1, .reusable = false}, REDUCE(sym_case, 4, .production_id = 45),
  [1924] = {.count = 1, .reusable = true}, REDUCE(sym_symbol, 2, .production_id = 1),
  [1926] = {.count = 1, .reusable = false}, REDUCE(sym_symbol, 2, .production_id = 1),
  [1928] = {.count = 1, .reusable = true}, REDUCE(sym__arg, 1),
  [1930] = {.count = 1, .reusable = false}, SHIFT(1749),
  [1932] = {.count = 1, .reusable = false}, REDUCE(sym__arg, 1),
  [1934] = {.count = 1, .reusable = true}, SHIFT(234),
  [1936] = {.count = 1, .reusable = true}, SHIFT(2754),
  [1938] = {.count = 1, .reusable = true}, SHIFT(1749),
  [1940] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 4, .production_id = 31),
  [1942] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 4, .production_id = 31),
  [1944] = {.count = 1, .reusable = true}, REDUCE(sym_lambda, 3, .production_id = 21),
  [1946] = {.count = 1, .reusable = false}, REDUCE(sym_lambda, 3, .production_id = 21),
  [1948] = {.count = 1, .reusable = true}, REDUCE(sym_lambda, 2, .production_id = 7),
  [1950] = {.count = 1, .reusable = false}, REDUCE(sym_lambda, 2, .production_id = 7),
  [1952] = {.count = 1, .reusable = true}, REDUCE(sym_string_array, 4, .production_id = 30),
  [1954] = {.count = 1, .reusable = false}, REDUCE(sym_string_array, 4, .production_id = 30),
  [1956] = {.count = 1, .reusable = true}, REDUCE(sym_case, 4),
  [1958] = {.count = 1, .reusable = false}, REDUCE(sym_case, 4),
  [1960] = {.count = 1, .reusable = false}, SHIFT(372),
  [1962] = {.count = 1, .reusable = true}, SHIFT(783),
  [1964] = {.count = 1, .reusable = false}, SHIFT(358),
  [1966] = {.count = 1, .reusable = true}, SHIFT(402),
  [1968] = {.count = 1, .reusable = false}, SHIFT(351),
  [1970] = {.count = 1, .reusable = true}, SHIFT(422),
  [1972] = {.count = 1, .reusable = false}, SHIFT(1794),
  [1974] = {.count = 1, .reusable = true}, SHIFT(248),
  [1976] = {.count = 1, .reusable = true}, SHIFT(2744),
  [1978] = {.count = 1, .reusable = true}, SHIFT(1794),
  [1980] = {.count = 1, .reusable = false}, SHIFT(333),
  [1982] = {.count = 1, .reusable = true}, SHIFT(621),
  [1984] = {.count = 1, .reusable = false}, SHIFT(1747),
  [1986] = {.count = 1, .reusable = true}, SHIFT(2743),
  [1988] = {.count = 1, .reusable = true}, SHIFT(1747),
  [1990] = {.count = 1, .reusable = false}, SHIFT(335),
  [1992] = {.count = 1, .reusable = true}, SHIFT(403),
  [1994] = {.count = 1, .reusable = false}, SHIFT(329),
  [1996] = {.count = 1, .reusable = true}, SHIFT(427),
  [1998] = {.count = 1, .reusable = false}, SHIFT(341),
  [2000] = {.count = 1, .reusable = true}, SHIFT(529),
  [2002] = {.count = 1, .reusable = true}, REDUCE(sym_assignment, 3, .production_id = 29),
  [2004] = {.count = 1, .reusable = false}, REDUCE(sym_assignment, 3, .production_id = 29),
  [2006] = {.count = 1, .reusable = false}, SHIFT(332),
  [2008] = {.count = 1, .reusable = true}, SHIFT(429),
  [2010] = {.count = 1, .reusable = false}, SHIFT(638),
  [2012] = {.count = 1, .reusable = true}, SHIFT(640),
  [2014] = {.count = 1, .reusable = false}, SHIFT(641),
  [2016] = {.count = 1, .reusable = false}, SHIFT(642),
  [2018] = {.count = 1, .reusable = true}, SHIFT(496),
  [2020] = {.count = 1, .reusable = false}, SHIFT(643),
  [2022] = {.count = 1, .reusable = true}, SHIFT(643),
  [2024] = {.count = 1, .reusable = true}, SHIFT(644),
  [2026] = {.count = 1, .reusable = true}, SHIFT(647),
  [2028] = {.count = 1, .reusable = true}, SHIFT(642),
  [2030] = {.count = 1, .reusable = true}, SHIFT(638),
  [2032] = {.count = 1, .reusable = true}, SHIFT(634),
  [2034] = {.count = 1, .reusable = true}, SHIFT(637),
  [2036] = {.count = 1, .reusable = false}, SHIFT(648),
  [2038] = {.count = 1, .reusable = true}, SHIFT(648),
  [2040] = {.count = 1, .reusable = false}, SHIFT(338),
  [2042] = {.count = 1, .reusable = true}, SHIFT(699),
  [2044] = {.count = 1, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2),
  [2046] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(382),
  [2049] = {.count = 1, .reusable = false}, REDUCE(aux_sym_exceptions_repeat1, 2),
  [2051] = {.count = 1, .reusable = true}, REDUCE(sym_right_assignment_list, 2),
  [2053] = {.count = 1, .reusable = true}, SHIFT(382),
  [2055] = {.count = 1, .reusable = false}, REDUCE(sym_right_assignment_list, 2),
  [2057] = {.count = 1, .reusable = true}, REDUCE(sym_unary, 2),
  [2059] = {.count = 1, .reusable = false}, REDUCE(sym_unary, 2),
  [2061] = {.count = 1, .reusable = true}, REDUCE(sym_binary, 3, .production_id = 24),
  [2063] = {.count = 1, .reusable = false}, REDUCE(sym_binary, 3, .production_id = 24),
  [2065] = {.count = 1, .reusable = false}, SHIFT(349),
  [2067] = {.count = 1, .reusable = true}, SHIFT(734),
  [2069] = {.count = 1, .reusable = false}, SHIFT(668),
  [2071] = {.count = 1, .reusable = true}, SHIFT(667),
  [2073] = {.count = 1, .reusable = false}, SHIFT(666),
  [2075] = {.count = 1, .reusable = false}, SHIFT(665),
  [2077] = {.count = 1, .reusable = true}, SHIFT(400),
  [2079] = {.count = 1, .reusable = false}, SHIFT(664),
  [2081] = {.count = 1, .reusable = true}, SHIFT(664),
  [2083] = {.count = 1, .reusable = true}, SHIFT(663),
  [2085] = {.count = 1, .reusable = true}, SHIFT(662),
  [2087] = {.count = 1, .reusable = true}, SHIFT(665),
  [2089] = {.count = 1, .reusable = true}, SHIFT(668),
  [2091] = {.count = 1, .reusable = true}, SHIFT(670),
  [2093] = {.count = 1, .reusable = true}, SHIFT(669),
  [2095] = {.count = 1, .reusable = false}, SHIFT(661),
  [2097] = {.count = 1, .reusable = true}, SHIFT(661),
  [2099] = {.count = 1, .reusable = true}, SHIFT(381),
  [2101] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(381),
  [2104] = {.count = 1, .reusable = false}, SHIFT(354),
  [2106] = {.count = 1, .reusable = true}, SHIFT(491),
  [2108] = {.count = 1, .reusable = true}, REDUCE(sym_splat_argument, 2),
  [2110] = {.count = 1, .reusable = false}, SHIFT(330),
  [2112] = {.count = 1, .reusable = true}, SHIFT(631),
  [2114] = {.count = 1, .reusable = true}, REDUCE(sym_range, 3),
  [2116] = {.count = 1, .reusable = true}, REDUCE(sym_operator_assignment, 3, .production_id = 29),
  [2118] = {.count = 1, .reusable = true}, REDUCE(sym_conditional, 5, .production_id = 62),
  [2120] = {.count = 1, .reusable = true}, REDUCE(sym__argument, 1),
  [2122] = {.count = 1, .reusable = true}, SHIFT(623),
  [2124] = {.count = 1, .reusable = false}, SHIFT(345),
  [2126] = {.count = 1, .reusable = true}, SHIFT(730),
  [2128] = {.count = 1, .reusable = false}, SHIFT(1820),
  [2130] = {.count = 1, .reusable = true}, SHIFT(2746),
  [2132] = {.count = 1, .reusable = true}, SHIFT(1820),
  [2134] = {.count = 1, .reusable = false}, SHIFT(521),
  [2136] = {.count = 1, .reusable = true}, SHIFT(520),
  [2138] = {.count = 1, .reusable = false}, SHIFT(519),
  [2140] = {.count = 1, .reusable = false}, SHIFT(518),
  [2142] = {.count = 1, .reusable = true}, SHIFT(505),
  [2144] = {.count = 1, .reusable = false}, SHIFT(517),
  [2146] = {.count = 1, .reusable = true}, SHIFT(517),
  [2148] = {.count = 1, .reusable = true}, SHIFT(516),
  [2150] = {.count = 1, .reusable = true}, SHIFT(513),
  [2152] = {.count = 1, .reusable = true}, SHIFT(518),
  [2154] = {.count = 1, .reusable = true}, SHIFT(521),
  [2156] = {.count = 1, .reusable = true}, SHIFT(523),
  [2158] = {.count = 1, .reusable = true}, SHIFT(522),
  [2160] = {.count = 1, .reusable = false}, SHIFT(512),
  [2162] = {.count = 1, .reusable = true}, SHIFT(512),
  [2164] = {.count = 1, .reusable = true}, SHIFT(373),
  [2166] = {.count = 1, .reusable = true}, REDUCE(sym_block_argument, 2),
  [2168] = {.count = 1, .reusable = true}, REDUCE(sym_pair, 3, .production_id = 38),
  [2170] = {.count = 1, .reusable = true}, REDUCE(sym_pair, 3, .production_id = 37),
  [2172] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(373),
  [2175] = {.count = 1, .reusable = true}, REDUCE(sym_hash_splat_argument, 2),
  [2177] = {.count = 1, .reusable = false}, SHIFT(573),
  [2179] = {.count = 1, .reusable = true}, SHIFT(577),
  [2181] = {.count = 1, .reusable = false}, SHIFT(578),
  [2183] = {.count = 1, .reusable = false}, SHIFT(579),
  [2185] = {.count = 1, .reusable = true}, SHIFT(405),
  [2187] = {.count = 1, .reusable = false}, SHIFT(580),
  [2189] = {.count = 1, .reusable = true}, SHIFT(580),
  [2191] = {.count = 1, .reusable = true}, SHIFT(581),
  [2193] = {.count = 1, .reusable = true}, SHIFT(582),
  [2195] = {.count = 1, .reusable = true}, SHIFT(579),
  [2197] = {.count = 1, .reusable = true}, SHIFT(573),
  [2199] = {.count = 1, .reusable = true}, SHIFT(571),
  [2201] = {.count = 1, .reusable = true}, SHIFT(572),
  [2203] = {.count = 1, .reusable = false}, SHIFT(583),
  [2205] = {.count = 1, .reusable = true}, SHIFT(583),
  [2207] = {.count = 1, .reusable = true}, SHIFT(729),
  [2209] = {.count = 1, .reusable = true}, SHIFT(377),
  [2211] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(377),
  [2214] = {.count = 1, .reusable = false}, SHIFT(836),
  [2216] = {.count = 1, .reusable = false}, SHIFT(630),
  [2218] = {.count = 1, .reusable = true}, SHIFT(726),
  [2220] = {.count = 1, .reusable = false}, SHIFT(649),
  [2222] = {.count = 1, .reusable = false}, SHIFT(651),
  [2224] = {.count = 1, .reusable = true}, SHIFT(677),
  [2226] = {.count = 1, .reusable = true}, SHIFT(651),
  [2228] = {.count = 1, .reusable = true}, SHIFT(630),
  [2230] = {.count = 1, .reusable = true}, SHIFT(627),
  [2232] = {.count = 1, .reusable = true}, SHIFT(628),
  [2234] = {.count = 1, .reusable = false}, SHIFT(679),
  [2236] = {.count = 1, .reusable = true}, SHIFT(679),
  [2238] = {.count = 1, .reusable = true}, SHIFT(659),
  [2240] = {.count = 1, .reusable = false}, SHIFT(673),
  [2242] = {.count = 1, .reusable = true}, SHIFT(673),
  [2244] = {.count = 1, .reusable = true}, SHIFT(674),
  [2246] = {.count = 1, .reusable = false}, SHIFT(1751),
  [2248] = {.count = 1, .reusable = true}, SHIFT(2780),
  [2250] = {.count = 1, .reusable = true}, SHIFT(1751),
  [2252] = {.count = 1, .reusable = false}, SHIFT(723),
  [2254] = {.count = 1, .reusable = true}, REDUCE(sym__expression, 1),
  [2256] = {.count = 1, .reusable = false}, SHIFT(2192),
  [2258] = {.count = 1, .reusable = true}, SHIFT(395),
  [2260] = {.count = 1, .reusable = true}, SHIFT(2091),
  [2262] = {.count = 1, .reusable = false}, SHIFT(2091),
  [2264] = {.count = 1, .reusable = false}, SHIFT(2766),
  [2266] = {.count = 1, .reusable = true}, SHIFT(2220),
  [2268] = {.count = 1, .reusable = true}, SHIFT(2089),
  [2270] = {.count = 1, .reusable = true}, SHIFT(2462),
  [2272] = {.count = 1, .reusable = true}, SHIFT(472),
  [2274] = {.count = 1, .reusable = true}, SHIFT(524),
  [2276] = {.count = 2, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2), SHIFT_REPEAT(2519),
  [2279] = {.count = 1, .reusable = true}, SHIFT(250),
  [2281] = {.count = 1, .reusable = false}, SHIFT(777),
  [2283] = {.count = 2, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2), SHIFT_REPEAT(2401),
  [2286] = {.count = 1, .reusable = true}, SHIFT(842),
  [2288] = {.count = 1, .reusable = false}, SHIFT(1516),
  [2290] = {.count = 1, .reusable = true}, SHIFT(1515),
  [2292] = {.count = 1, .reusable = false}, SHIFT(1759),
  [2294] = {.count = 1, .reusable = true}, SHIFT(2760),
  [2296] = {.count = 1, .reusable = true}, SHIFT(1759),
  [2298] = {.count = 1, .reusable = false}, SHIFT(1857),
  [2300] = {.count = 1, .reusable = true}, SHIFT(260),
  [2302] = {.count = 1, .reusable = true}, SHIFT(2879),
  [2304] = {.count = 1, .reusable = true}, SHIFT(1857),
  [2306] = {.count = 1, .reusable = false}, SHIFT(1865),
  [2308] = {.count = 1, .reusable = true}, SHIFT(2919),
  [2310] = {.count = 1, .reusable = true}, SHIFT(1865),
  [2312] = {.count = 1, .reusable = true}, SHIFT(2232),
  [2314] = {.count = 1, .reusable = true}, SHIFT(2093),
  [2316] = {.count = 1, .reusable = false}, SHIFT(1858),
  [2318] = {.count = 1, .reusable = true}, SHIFT(259),
  [2320] = {.count = 1, .reusable = true}, SHIFT(2857),
  [2322] = {.count = 1, .reusable = true}, SHIFT(1858),
  [2324] = {.count = 1, .reusable = false}, SHIFT(1780),
  [2326] = {.count = 1, .reusable = true}, SHIFT(256),
  [2328] = {.count = 1, .reusable = true}, SHIFT(2753),
  [2330] = {.count = 1, .reusable = true}, SHIFT(1780),
  [2332] = {.count = 1, .reusable = true}, SHIFT(2106),
  [2334] = {.count = 1, .reusable = true}, SHIFT(2178),
  [2336] = {.count = 1, .reusable = true}, SHIFT(2105),
  [2338] = {.count = 1, .reusable = false}, SHIFT(2105),
  [2340] = {.count = 1, .reusable = true}, SHIFT(2204),
  [2342] = {.count = 1, .reusable = true}, SHIFT(2205),
  [2344] = {.count = 1, .reusable = true}, SHIFT(2406),
  [2346] = {.count = 1, .reusable = true}, SHIFT(1663),
  [2348] = {.count = 1, .reusable = true}, SHIFT(1686),
  [2350] = {.count = 1, .reusable = false}, SHIFT(1686),
  [2352] = {.count = 1, .reusable = true}, SHIFT(1668),
  [2354] = {.count = 1, .reusable = true}, SHIFT(1683),
  [2356] = {.count = 1, .reusable = true}, SHIFT(2431),
  [2358] = {.count = 1, .reusable = true}, SHIFT(1160),
  [2360] = {.count = 1, .reusable = false}, SHIFT(793),
  [2362] = {.count = 1, .reusable = true}, SHIFT(796),
  [2364] = {.count = 1, .reusable = false}, SHIFT(797),
  [2366] = {.count = 1, .reusable = false}, SHIFT(798),
  [2368] = {.count = 1, .reusable = true}, SHIFT(828),
  [2370] = {.count = 1, .reusable = false}, SHIFT(799),
  [2372] = {.count = 1, .reusable = true}, SHIFT(799),
  [2374] = {.count = 1, .reusable = true}, SHIFT(800),
  [2376] = {.count = 1, .reusable = true}, SHIFT(801),
  [2378] = {.count = 1, .reusable = true}, SHIFT(798),
  [2380] = {.count = 1, .reusable = true}, SHIFT(793),
  [2382] = {.count = 1, .reusable = true}, SHIFT(786),
  [2384] = {.count = 1, .reusable = true}, SHIFT(789),
  [2386] = {.count = 1, .reusable = false}, SHIFT(802),
  [2388] = {.count = 1, .reusable = true}, SHIFT(802),
  [2390] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(389),
  [2393] = {.count = 1, .reusable = false}, SHIFT(1827),
  [2395] = {.count = 1, .reusable = true}, SHIFT(2817),
  [2397] = {.count = 1, .reusable = true}, SHIFT(1827),
  [2399] = {.count = 1, .reusable = true}, SHIFT(2357),
  [2401] = {.count = 1, .reusable = true}, SHIFT(2435),
  [2403] = {.count = 1, .reusable = false}, SHIFT(2435),
  [2405] = {.count = 1, .reusable = true}, SHIFT(2495),
  [2407] = {.count = 1, .reusable = true}, SHIFT(2436),
  [2409] = {.count = 1, .reusable = true}, SHIFT(2530),
  [2411] = {.count = 1, .reusable = true}, SHIFT(2330),
  [2413] = {.count = 1, .reusable = true}, SHIFT(2381),
  [2415] = {.count = 1, .reusable = true}, SHIFT(389),
  [2417] = {.count = 1, .reusable = false}, SHIFT(562),
  [2419] = {.count = 1, .reusable = true}, SHIFT(561),
  [2421] = {.count = 1, .reusable = false}, SHIFT(560),
  [2423] = {.count = 1, .reusable = true}, SHIFT(556),
  [2425] = {.count = 1, .reusable = true}, SHIFT(562),
  [2427] = {.count = 1, .reusable = true}, SHIFT(566),
  [2429] = {.count = 1, .reusable = true}, SHIFT(564),
  [2431] = {.count = 1, .reusable = false}, SHIFT(559),
  [2433] = {.count = 1, .reusable = true}, SHIFT(473),
  [2435] = {.count = 1, .reusable = false}, SHIFT(558),
  [2437] = {.count = 1, .reusable = true}, SHIFT(558),
  [2439] = {.count = 1, .reusable = true}, SHIFT(557),
  [2441] = {.count = 1, .reusable = true}, SHIFT(559),
  [2443] = {.count = 1, .reusable = false}, SHIFT(555),
  [2445] = {.count = 1, .reusable = true}, SHIFT(555),
  [2447] = {.count = 1, .reusable = false}, SHIFT(782),
  [2449] = {.count = 1, .reusable = true}, SHIFT(781),
  [2451] = {.count = 1, .reusable = false}, SHIFT(779),
  [2453] = {.count = 1, .reusable = false}, SHIFT(810),
  [2455] = {.count = 1, .reusable = true}, SHIFT(760),
  [2457] = {.count = 1, .reusable = false}, SHIFT(822),
  [2459] = {.count = 1, .reusable = true}, SHIFT(822),
  [2461] = {.count = 1, .reusable = true}, SHIFT(850),
  [2463] = {.count = 1, .reusable = true}, SHIFT(794),
  [2465] = {.count = 1, .reusable = true}, SHIFT(810),
  [2467] = {.count = 1, .reusable = true}, SHIFT(782),
  [2469] = {.count = 1, .reusable = true}, SHIFT(751),
  [2471] = {.count = 1, .reusable = true}, SHIFT(787),
  [2473] = {.count = 1, .reusable = false}, SHIFT(792),
  [2475] = {.count = 1, .reusable = true}, SHIFT(792),
  [2477] = {.count = 1, .reusable = true}, SHIFT(386),
  [2479] = {.count = 1, .reusable = true}, SHIFT(836),
  [2481] = {.count = 2, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2), SHIFT_REPEAT(2452),
  [2484] = {.count = 1, .reusable = true}, SHIFT(723),
  [2486] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(386),
  [2489] = {.count = 1, .reusable = true}, SHIFT(388),
  [2491] = {.count = 1, .reusable = false}, SHIFT(1791),
  [2493] = {.count = 1, .reusable = true}, SHIFT(237),
  [2495] = {.count = 1, .reusable = true}, SHIFT(2770),
  [2497] = {.count = 1, .reusable = true}, SHIFT(1791),
  [2499] = {.count = 1, .reusable = true}, REDUCE(sym__method_name, 1),
  [2501] = {.count = 1, .reusable = false}, REDUCE(sym__method_name, 1),
  [2503] = {.count = 1, .reusable = false}, SHIFT(1699),
  [2505] = {.count = 1, .reusable = false}, SHIFT(832),
  [2507] = {.count = 1, .reusable = true}, SHIFT(838),
  [2509] = {.count = 1, .reusable = false}, SHIFT(849),
  [2511] = {.count = 1, .reusable = false}, SHIFT(848),
  [2513] = {.count = 1, .reusable = true}, SHIFT(845),
  [2515] = {.count = 1, .reusable = false}, SHIFT(819),
  [2517] = {.count = 1, .reusable = true}, SHIFT(819),
  [2519] = {.count = 1, .reusable = true}, SHIFT(844),
  [2521] = {.count = 1, .reusable = true}, SHIFT(843),
  [2523] = {.count = 1, .reusable = true}, SHIFT(848),
  [2525] = {.count = 1, .reusable = true}, SHIFT(832),
  [2527] = {.count = 1, .reusable = true}, SHIFT(825),
  [2529] = {.count = 1, .reusable = true}, SHIFT(829),
  [2531] = {.count = 1, .reusable = false}, SHIFT(841),
  [2533] = {.count = 1, .reusable = true}, SHIFT(841),
  [2535] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(388),
  [2538] = {.count = 1, .reusable = true}, SHIFT(387),
  [2540] = {.count = 1, .reusable = false}, SHIFT(773),
  [2542] = {.count = 1, .reusable = true}, SHIFT(771),
  [2544] = {.count = 1, .reusable = false}, SHIFT(769),
  [2546] = {.count = 1, .reusable = false}, SHIFT(768),
  [2548] = {.count = 1, .reusable = true}, SHIFT(811),
  [2550] = {.count = 1, .reusable = false}, SHIFT(767),
  [2552] = {.count = 1, .reusable = true}, SHIFT(767),
  [2554] = {.count = 1, .reusable = true}, SHIFT(766),
  [2556] = {.count = 1, .reusable = true}, SHIFT(765),
  [2558] = {.count = 1, .reusable = true}, SHIFT(768),
  [2560] = {.count = 1, .reusable = true}, SHIFT(773),
  [2562] = {.count = 1, .reusable = true}, SHIFT(775),
  [2564] = {.count = 1, .reusable = true}, SHIFT(774),
  [2566] = {.count = 1, .reusable = false}, SHIFT(764),
  [2568] = {.count = 1, .reusable = true}, SHIFT(764),
  [2570] = {.count = 1, .reusable = true}, SHIFT(777),
  [2572] = {.count = 1, .reusable = true}, REDUCE(sym_setter, 2),
  [2574] = {.count = 1, .reusable = false}, REDUCE(sym_setter, 2),
  [2576] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(387),
  [2579] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(367),
  [2582] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(376),
  [2585] = {.count = 1, .reusable = false}, SHIFT(483),
  [2587] = {.count = 1, .reusable = true}, SHIFT(484),
  [2589] = {.count = 1, .reusable = false}, SHIFT(486),
  [2591] = {.count = 1, .reusable = false}, SHIFT(487),
  [2593] = {.count = 1, .reusable = true}, SHIFT(475),
  [2595] = {.count = 1, .reusable = false}, SHIFT(488),
  [2597] = {.count = 1, .reusable = true}, SHIFT(488),
  [2599] = {.count = 1, .reusable = true}, SHIFT(490),
  [2601] = {.count = 1, .reusable = true}, SHIFT(492),
  [2603] = {.count = 1, .reusable = true}, SHIFT(487),
  [2605] = {.count = 1, .reusable = true}, SHIFT(483),
  [2607] = {.count = 1, .reusable = true}, SHIFT(479),
  [2609] = {.count = 1, .reusable = true}, SHIFT(481),
  [2611] = {.count = 1, .reusable = false}, SHIFT(493),
  [2613] = {.count = 1, .reusable = true}, SHIFT(493),
  [2615] = {.count = 1, .reusable = true}, SHIFT(376),
  [2617] = {.count = 1, .reusable = false}, SHIFT(412),
  [2619] = {.count = 1, .reusable = true}, SHIFT(413),
  [2621] = {.count = 1, .reusable = false}, SHIFT(415),
  [2623] = {.count = 1, .reusable = false}, SHIFT(416),
  [2625] = {.count = 1, .reusable = true}, SHIFT(495),
  [2627] = {.count = 1, .reusable = false}, SHIFT(417),
  [2629] = {.count = 1, .reusable = true}, SHIFT(417),
  [2631] = {.count = 1, .reusable = true}, SHIFT(419),
  [2633] = {.count = 1, .reusable = true}, SHIFT(420),
  [2635] = {.count = 1, .reusable = true}, SHIFT(416),
  [2637] = {.count = 1, .reusable = true}, SHIFT(412),
  [2639] = {.count = 1, .reusable = true}, SHIFT(407),
  [2641] = {.count = 1, .reusable = true}, SHIFT(408),
  [2643] = {.count = 1, .reusable = false}, SHIFT(421),
  [2645] = {.count = 1, .reusable = true}, SHIFT(421),
  [2647] = {.count = 1, .reusable = true}, SHIFT(367),
  [2649] = {.count = 1, .reusable = true}, SHIFT(362),
  [2651] = {.count = 1, .reusable = true}, REDUCE(sym_exceptions, 1),
  [2653] = {.count = 1, .reusable = true}, SHIFT(489),
  [2655] = {.count = 1, .reusable = true}, SHIFT(383),
  [2657] = {.count = 1, .reusable = false}, SHIFT(807),
  [2659] = {.count = 1, .reusable = true}, SHIFT(795),
  [2661] = {.count = 1, .reusable = false}, SHIFT(784),
  [2663] = {.count = 1, .reusable = false}, SHIFT(776),
  [2665] = {.count = 1, .reusable = true}, SHIFT(778),
  [2667] = {.count = 1, .reusable = false}, SHIFT(772),
  [2669] = {.count = 1, .reusable = true}, SHIFT(772),
  [2671] = {.count = 1, .reusable = true}, SHIFT(770),
  [2673] = {.count = 1, .reusable = true}, SHIFT(762),
  [2675] = {.count = 1, .reusable = true}, SHIFT(776),
  [2677] = {.count = 1, .reusable = true}, SHIFT(807),
  [2679] = {.count = 1, .reusable = true}, SHIFT(820),
  [2681] = {.count = 1, .reusable = true}, SHIFT(808),
  [2683] = {.count = 1, .reusable = false}, SHIFT(758),
  [2685] = {.count = 1, .reusable = true}, SHIFT(758),
  [2687] = {.count = 1, .reusable = true}, SHIFT(384),
  [2689] = {.count = 1, .reusable = true}, SHIFT(215),
  [2691] = {.count = 1, .reusable = true}, SHIFT(217),
  [2693] = {.count = 1, .reusable = false}, SHIFT(217),
  [2695] = {.count = 1, .reusable = true}, SHIFT(239),
  [2697] = {.count = 1, .reusable = true}, SHIFT(886),
  [2699] = {.count = 1, .reusable = true}, SHIFT(885),
  [2701] = {.count = 1, .reusable = false}, SHIFT(885),
  [2703] = {.count = 1, .reusable = true}, SHIFT(300),
  [2705] = {.count = 1, .reusable = true}, SHIFT(302),
  [2707] = {.count = 1, .reusable = false}, SHIFT(302),
  [2709] = {.count = 1, .reusable = true}, SHIFT(233),
  [2711] = {.count = 1, .reusable = true}, SHIFT(2190),
  [2713] = {.count = 1, .reusable = true}, SHIFT(238),
  [2715] = {.count = 1, .reusable = true}, SHIFT(313),
  [2717] = {.count = 1, .reusable = true}, SHIFT(311),
  [2719] = {.count = 1, .reusable = false}, SHIFT(311),
  [2721] = {.count = 1, .reusable = true}, SHIFT(253),
  [2723] = {.count = 1, .reusable = true}, SHIFT(2167),
  [2725] = {.count = 1, .reusable = true}, SHIFT(2176),
  [2727] = {.count = 1, .reusable = false}, SHIFT(2176),
  [2729] = {.count = 1, .reusable = true}, SHIFT(254),
  [2731] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(365),
  [2734] = {.count = 1, .reusable = false}, SHIFT(456),
  [2736] = {.count = 1, .reusable = true}, SHIFT(454),
  [2738] = {.count = 1, .reusable = false}, SHIFT(451),
  [2740] = {.count = 1, .reusable = false}, SHIFT(449),
  [2742] = {.count = 1, .reusable = true}, SHIFT(185),
  [2744] = {.count = 1, .reusable = true}, SHIFT(504),
  [2746] = {.count = 1, .reusable = false}, SHIFT(446),
  [2748] = {.count = 1, .reusable = true}, SHIFT(446),
  [2750] = {.count = 1, .reusable = true}, SHIFT(443),
  [2752] = {.count = 1, .reusable = true}, SHIFT(437),
  [2754] = {.count = 1, .reusable = true}, SHIFT(436),
  [2756] = {.count = 1, .reusable = true}, SHIFT(449),
  [2758] = {.count = 1, .reusable = true}, SHIFT(456),
  [2760] = {.count = 1, .reusable = true}, SHIFT(458),
  [2762] = {.count = 1, .reusable = true}, SHIFT(457),
  [2764] = {.count = 1, .reusable = false}, SHIFT(433),
  [2766] = {.count = 1, .reusable = true}, SHIFT(433),
  [2768] = {.count = 1, .reusable = true}, SHIFT(188),
  [2770] = {.count = 1, .reusable = false}, SHIFT(544),
  [2772] = {.count = 1, .reusable = true}, SHIFT(541),
  [2774] = {.count = 1, .reusable = false}, SHIFT(540),
  [2776] = {.count = 1, .reusable = false}, SHIFT(538),
  [2778] = {.count = 1, .reusable = true}, SHIFT(507),
  [2780] = {.count = 1, .reusable = false}, SHIFT(537),
  [2782] = {.count = 1, .reusable = true}, SHIFT(537),
  [2784] = {.count = 1, .reusable = true}, SHIFT(536),
  [2786] = {.count = 1, .reusable = true}, SHIFT(534),
  [2788] = {.count = 1, .reusable = true}, SHIFT(538),
  [2790] = {.count = 1, .reusable = true}, SHIFT(544),
  [2792] = {.count = 1, .reusable = true}, SHIFT(546),
  [2794] = {.count = 1, .reusable = true}, SHIFT(545),
  [2796] = {.count = 1, .reusable = false}, SHIFT(533),
  [2798] = {.count = 1, .reusable = true}, SHIFT(533),
  [2800] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(383),
  [2803] = {.count = 1, .reusable = true}, SHIFT(1021),
  [2805] = {.count = 1, .reusable = true}, SHIFT(1026),
  [2807] = {.count = 1, .reusable = false}, SHIFT(1026),
  [2809] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(384),
  [2812] = {.count = 1, .reusable = false}, SHIFT(606),
  [2814] = {.count = 1, .reusable = true}, SHIFT(607),
  [2816] = {.count = 1, .reusable = false}, SHIFT(608),
  [2818] = {.count = 1, .reusable = false}, SHIFT(609),
  [2820] = {.count = 1, .reusable = true}, SHIFT(497),
  [2822] = {.count = 1, .reusable = false}, SHIFT(610),
  [2824] = {.count = 1, .reusable = true}, SHIFT(610),
  [2826] = {.count = 1, .reusable = true}, SHIFT(617),
  [2828] = {.count = 1, .reusable = true}, SHIFT(619),
  [2830] = {.count = 1, .reusable = true}, SHIFT(609),
  [2832] = {.count = 1, .reusable = true}, SHIFT(606),
  [2834] = {.count = 1, .reusable = true}, SHIFT(604),
  [2836] = {.count = 1, .reusable = true}, SHIFT(605),
  [2838] = {.count = 1, .reusable = false}, SHIFT(620),
  [2840] = {.count = 1, .reusable = true}, SHIFT(620),
  [2842] = {.count = 1, .reusable = true}, SHIFT(1117),
  [2844] = {.count = 1, .reusable = true}, SHIFT(1142),
  [2846] = {.count = 1, .reusable = false}, SHIFT(1142),
  [2848] = {.count = 1, .reusable = true}, SHIFT(888),
  [2850] = {.count = 1, .reusable = true}, SHIFT(913),
  [2852] = {.count = 1, .reusable = false}, SHIFT(913),
  [2854] = {.count = 1, .reusable = false}, SHIFT(410),
  [2856] = {.count = 1, .reusable = true}, SHIFT(409),
  [2858] = {.count = 1, .reusable = false}, SHIFT(404),
  [2860] = {.count = 1, .reusable = false}, SHIFT(398),
  [2862] = {.count = 1, .reusable = true}, SHIFT(465),
  [2864] = {.count = 1, .reusable = false}, SHIFT(397),
  [2866] = {.count = 1, .reusable = true}, SHIFT(397),
  [2868] = {.count = 1, .reusable = true}, SHIFT(394),
  [2870] = {.count = 1, .reusable = true}, SHIFT(392),
  [2872] = {.count = 1, .reusable = true}, SHIFT(398),
  [2874] = {.count = 1, .reusable = true}, SHIFT(410),
  [2876] = {.count = 1, .reusable = true}, SHIFT(414),
  [2878] = {.count = 1, .reusable = true}, SHIFT(411),
  [2880] = {.count = 1, .reusable = false}, SHIFT(625),
  [2882] = {.count = 1, .reusable = true}, SHIFT(625),
  [2884] = {.count = 1, .reusable = true}, SHIFT(178),
  [2886] = {.count = 1, .reusable = true}, SHIFT(365),
  [2888] = {.count = 1, .reusable = true}, SHIFT(229),
  [2890] = {.count = 1, .reusable = true}, SHIFT(231),
  [2892] = {.count = 1, .reusable = false}, SHIFT(231),
  [2894] = {.count = 1, .reusable = true}, SHIFT(240),
  [2896] = {.count = 1, .reusable = true}, REDUCE(sym_pattern, 1),
  [2898] = {.count = 1, .reusable = true}, SHIFT(396),
  [2900] = {.count = 1, .reusable = true}, SHIFT(418),
  [2902] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(379),
  [2905] = {.count = 1, .reusable = true}, SHIFT(370),
  [2907] = {.count = 1, .reusable = true}, SHIFT(368),
  [2909] = {.count = 1, .reusable = false}, SHIFT(368),
  [2911] = {.count = 1, .reusable = true}, SHIFT(257),
  [2913] = {.count = 1, .reusable = false}, SHIFT(435),
  [2915] = {.count = 1, .reusable = true}, SHIFT(444),
  [2917] = {.count = 1, .reusable = false}, SHIFT(445),
  [2919] = {.count = 1, .reusable = false}, SHIFT(447),
  [2921] = {.count = 1, .reusable = true}, SHIFT(459),
  [2923] = {.count = 1, .reusable = false}, SHIFT(448),
  [2925] = {.count = 1, .reusable = true}, SHIFT(448),
  [2927] = {.count = 1, .reusable = true}, SHIFT(498),
  [2929] = {.count = 1, .reusable = true}, SHIFT(500),
  [2931] = {.count = 1, .reusable = true}, SHIFT(447),
  [2933] = {.count = 1, .reusable = true}, SHIFT(435),
  [2935] = {.count = 1, .reusable = true}, SHIFT(431),
  [2937] = {.count = 1, .reusable = true}, SHIFT(434),
  [2939] = {.count = 1, .reusable = false}, SHIFT(502),
  [2941] = {.count = 1, .reusable = true}, SHIFT(502),
  [2943] = {.count = 1, .reusable = true}, SHIFT(193),
  [2945] = {.count = 1, .reusable = true}, SHIFT(611),
  [2947] = {.count = 1, .reusable = true}, SHIFT(350),
  [2949] = {.count = 1, .reusable = true}, SHIFT(342),
  [2951] = {.count = 1, .reusable = false}, SHIFT(342),
  [2953] = {.count = 1, .reusable = true}, SHIFT(264),
  [2955] = {.count = 1, .reusable = true}, SHIFT(993),
  [2957] = {.count = 1, .reusable = true}, SHIFT(1014),
  [2959] = {.count = 1, .reusable = false}, SHIFT(1014),
  [2961] = {.count = 1, .reusable = true}, SHIFT(379),
  [2963] = {.count = 1, .reusable = true}, SHIFT(979),
  [2965] = {.count = 1, .reusable = true}, SHIFT(971),
  [2967] = {.count = 1, .reusable = false}, SHIFT(971),
  [2969] = {.count = 1, .reusable = true}, REDUCE(sym_keyword_parameter, 3, .production_id = 50),
  [2971] = {.count = 1, .reusable = true}, SHIFT(464),
  [2973] = {.count = 1, .reusable = false}, SHIFT(685),
  [2975] = {.count = 1, .reusable = true}, SHIFT(686),
  [2977] = {.count = 1, .reusable = false}, SHIFT(688),
  [2979] = {.count = 1, .reusable = false}, SHIFT(690),
  [2981] = {.count = 1, .reusable = true}, SHIFT(501),
  [2983] = {.count = 1, .reusable = false}, SHIFT(691),
  [2985] = {.count = 1, .reusable = true}, SHIFT(691),
  [2987] = {.count = 1, .reusable = true}, SHIFT(692),
  [2989] = {.count = 1, .reusable = true}, SHIFT(693),
  [2991] = {.count = 1, .reusable = true}, SHIFT(694),
  [2993] = {.count = 1, .reusable = true}, SHIFT(690),
  [2995] = {.count = 1, .reusable = true}, SHIFT(685),
  [2997] = {.count = 1, .reusable = true}, SHIFT(680),
  [2999] = {.count = 1, .reusable = true}, SHIFT(684),
  [3001] = {.count = 1, .reusable = false}, SHIFT(696),
  [3003] = {.count = 1, .reusable = true}, SHIFT(696),
  [3005] = {.count = 1, .reusable = true}, REDUCE(sym_in, 2),
  [3007] = {.count = 1, .reusable = true}, SHIFT(371),
  [3009] = {.count = 1, .reusable = true}, REDUCE(sym_optional_parameter, 3, .production_id = 50),
  [3011] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(371),
  [3014] = {.count = 1, .reusable = false}, SHIFT(547),
  [3016] = {.count = 1, .reusable = true}, SHIFT(543),
  [3018] = {.count = 1, .reusable = false}, SHIFT(539),
  [3020] = {.count = 1, .reusable = false}, SHIFT(535),
  [3022] = {.count = 1, .reusable = true}, SHIFT(432),
  [3024] = {.count = 1, .reusable = false}, SHIFT(531),
  [3026] = {.count = 1, .reusable = true}, SHIFT(531),
  [3028] = {.count = 1, .reusable = true}, SHIFT(528),
  [3030] = {.count = 1, .reusable = true}, SHIFT(527),
  [3032] = {.count = 1, .reusable = true}, SHIFT(535),
  [3034] = {.count = 1, .reusable = true}, SHIFT(547),
  [3036] = {.count = 1, .reusable = true}, SHIFT(568),
  [3038] = {.count = 1, .reusable = true}, SHIFT(553),
  [3040] = {.count = 1, .reusable = false}, SHIFT(526),
  [3042] = {.count = 1, .reusable = true}, SHIFT(526),
  [3044] = {.count = 1, .reusable = false}, REDUCE(sym_keyword_parameter, 3, .production_id = 50),
  [3046] = {.count = 1, .reusable = false}, REDUCE(sym_optional_parameter, 3, .production_id = 50),
  [3048] = {.count = 1, .reusable = true}, REDUCE(sym_superclass, 2),
  [3050] = {.count = 1, .reusable = false}, SHIFT(713),
  [3052] = {.count = 1, .reusable = true}, SHIFT(714),
  [3054] = {.count = 1, .reusable = false}, SHIFT(715),
  [3056] = {.count = 1, .reusable = false}, SHIFT(716),
  [3058] = {.count = 1, .reusable = true}, SHIFT(721),
  [3060] = {.count = 1, .reusable = true}, SHIFT(716),
  [3062] = {.count = 1, .reusable = true}, SHIFT(713),
  [3064] = {.count = 1, .reusable = true}, SHIFT(711),
  [3066] = {.count = 1, .reusable = true}, SHIFT(712),
  [3068] = {.count = 1, .reusable = false}, SHIFT(722),
  [3070] = {.count = 1, .reusable = true}, SHIFT(722),
  [3072] = {.count = 1, .reusable = false}, SHIFT(480),
  [3074] = {.count = 1, .reusable = true}, SHIFT(478),
  [3076] = {.count = 1, .reusable = false}, SHIFT(476),
  [3078] = {.count = 1, .reusable = false}, SHIFT(470),
  [3080] = {.count = 1, .reusable = true}, SHIFT(474),
  [3082] = {.count = 1, .reusable = true}, SHIFT(514),
  [3084] = {.count = 1, .reusable = false}, SHIFT(469),
  [3086] = {.count = 1, .reusable = true}, SHIFT(469),
  [3088] = {.count = 1, .reusable = true}, SHIFT(468),
  [3090] = {.count = 1, .reusable = true}, SHIFT(467),
  [3092] = {.count = 1, .reusable = true}, SHIFT(466),
  [3094] = {.count = 1, .reusable = true}, SHIFT(470),
  [3096] = {.count = 1, .reusable = true}, SHIFT(480),
  [3098] = {.count = 1, .reusable = true}, SHIFT(485),
  [3100] = {.count = 1, .reusable = true}, SHIFT(482),
  [3102] = {.count = 1, .reusable = false}, SHIFT(462),
  [3104] = {.count = 1, .reusable = true}, SHIFT(462),
  [3106] = {.count = 1, .reusable = true}, SHIFT(2755),
  [3108] = {.count = 1, .reusable = false}, SHIFT(749),
  [3110] = {.count = 1, .reusable = true}, SHIFT(748),
  [3112] = {.count = 1, .reusable = false}, SHIFT(747),
  [3114] = {.count = 1, .reusable = false}, SHIFT(746),
  [3116] = {.count = 1, .reusable = true}, SHIFT(494),
  [3118] = {.count = 1, .reusable = false}, SHIFT(745),
  [3120] = {.count = 1, .reusable = true}, SHIFT(745),
  [3122] = {.count = 1, .reusable = true}, SHIFT(744),
  [3124] = {.count = 1, .reusable = true}, SHIFT(743),
  [3126] = {.count = 1, .reusable = true}, SHIFT(742),
  [3128] = {.count = 1, .reusable = true}, SHIFT(746),
  [3130] = {.count = 1, .reusable = true}, SHIFT(749),
  [3132] = {.count = 1, .reusable = true}, SHIFT(739),
  [3134] = {.count = 1, .reusable = true}, SHIFT(741),
  [3136] = {.count = 1, .reusable = false}, SHIFT(740),
  [3138] = {.count = 1, .reusable = true}, SHIFT(740),
  [3140] = {.count = 1, .reusable = true}, SHIFT(2748),
  [3142] = {.count = 1, .reusable = true}, SHIFT(603),
  [3144] = {.count = 1, .reusable = false}, SHIFT(718),
  [3146] = {.count = 1, .reusable = true}, SHIFT(718),
  [3148] = {.count = 1, .reusable = true}, SHIFT(720),
  [3150] = {.count = 1, .reusable = true}, SHIFT(735),
  [3152] = {.count = 1, .reusable = true}, SHIFT(463),
  [3154] = {.count = 1, .reusable = true}, SHIFT(2779),
  [3156] = {.count = 1, .reusable = true}, SHIFT(499),
  [3158] = {.count = 1, .reusable = true}, SHIFT(471),
  [3160] = {.count = 1, .reusable = true}, SHIFT(399),
  [3162] = {.count = 1, .reusable = true}, SHIFT(461),
  [3164] = {.count = 1, .reusable = true}, SHIFT(550),
  [3166] = {.count = 1, .reusable = true}, SHIFT(618),
  [3168] = {.count = 1, .reusable = true}, SHIFT(515),
  [3170] = {.count = 1, .reusable = true}, SHIFT(426),
  [3172] = {.count = 1, .reusable = true}, SHIFT(671),
  [3174] = {.count = 1, .reusable = true}, SHIFT(589),
  [3176] = {.count = 1, .reusable = true}, SHIFT(629),
  [3178] = {.count = 1, .reusable = true}, SHIFT(719),
  [3180] = {.count = 1, .reusable = true}, SHIFT(525),
  [3182] = {.count = 1, .reusable = true}, SHIFT(590),
  [3184] = {.count = 1, .reusable = true}, SHIFT(503),
  [3186] = {.count = 1, .reusable = true}, SHIFT(707),
  [3188] = {.count = 1, .reusable = true}, SHIFT(804),
  [3190] = {.count = 1, .reusable = true}, SHIFT(788),
  [3192] = {.count = 1, .reusable = true}, SHIFT(754),
  [3194] = {.count = 1, .reusable = true}, SHIFT(780),
  [3196] = {.count = 1, .reusable = true}, SHIFT(831),
  [3198] = {.count = 1, .reusable = true}, SHIFT(2849),
  [3200] = {.count = 1, .reusable = true}, REDUCE(sym_command_call, 2, .production_id = 8),
  [3202] = {.count = 1, .reusable = true}, SHIFT(162),
  [3204] = {.count = 1, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2),
  [3206] = {.count = 2, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2), SHIFT_REPEAT(268),
  [3209] = {.count = 1, .reusable = true}, SHIFT(25),
  [3211] = {.count = 1, .reusable = true}, REDUCE(sym_command_argument_list, 1),
  [3213] = {.count = 1, .reusable = true}, SHIFT(268),
  [3215] = {.count = 1, .reusable = true}, REDUCE(sym_command_argument_list, 2),
  [3217] = {.count = 1, .reusable = true}, REDUCE(sym_command_call, 3, .production_id = 28),
  [3219] = {.count = 1, .reusable = true}, SHIFT(269),
  [3221] = {.count = 2, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2), SHIFT_REPEAT(269),
  [3224] = {.count = 1, .reusable = true}, REDUCE(sym_command_operator_assignment, 3, .production_id = 29),
  [3226] = {.count = 1, .reusable = true}, REDUCE(sym_command_assignment, 3, .production_id = 29),
  [3228] = {.count = 1, .reusable = true}, REDUCE(sym_break_command, 2),
  [3230] = {.count = 1, .reusable = true}, REDUCE(sym_yield_command, 2),
  [3232] = {.count = 1, .reusable = true}, REDUCE(sym_return_command, 2),
  [3234] = {.count = 1, .reusable = true}, REDUCE(sym_command_binary, 3, .production_id = 24),
  [3236] = {.count = 1, .reusable = true}, REDUCE(sym_next_command, 2),
  [3238] = {.count = 1, .reusable = true}, REDUCE(aux_sym_undef_repeat1, 2),
  [3240] = {.count = 1, .reusable = true}, SHIFT(2085),
  [3242] = {.count = 1, .reusable = true}, REDUCE(sym_alias, 3, .production_id = 18),
  [3244] = {.count = 1, .reusable = false}, SHIFT(2485),
  [3246] = {.count = 1, .reusable = true}, SHIFT(163),
  [3248] = {.count = 1, .reusable = true}, SHIFT(2146),
  [3250] = {.count = 1, .reusable = false}, SHIFT(2355),
  [3252] = {.count = 1, .reusable = true}, SHIFT(2368),
  [3254] = {.count = 1, .reusable = true}, SHIFT(2793),
  [3256] = {.count = 1, .reusable = false}, SHIFT(27),
  [3258] = {.count = 1, .reusable = true}, REDUCE(sym_begin_block, 3),
  [3260] = {.count = 1, .reusable = true}, REDUCE(sym_undef, 3),
  [3262] = {.count = 1, .reusable = true}, SHIFT(1569),
  [3264] = {.count = 2, .reusable = true}, REDUCE(aux_sym_undef_repeat1, 2), SHIFT_REPEAT(1569),
  [3267] = {.count = 1, .reusable = true}, REDUCE(sym__statement, 1),
  [3269] = {.count = 1, .reusable = true}, SHIFT(271),
  [3271] = {.count = 1, .reusable = true}, REDUCE(sym_end_block, 3),
  [3273] = {.count = 1, .reusable = true}, SHIFT(166),
  [3275] = {.count = 1, .reusable = false}, SHIFT(24),
  [3277] = {.count = 1, .reusable = true}, REDUCE(sym_begin_block, 4),
  [3279] = {.count = 1, .reusable = true}, REDUCE(sym_if_modifier, 3, .production_id = 22),
  [3281] = {.count = 1, .reusable = true}, REDUCE(sym_unless_modifier, 3, .production_id = 22),
  [3283] = {.count = 1, .reusable = true}, REDUCE(sym_while_modifier, 3, .production_id = 22),
  [3285] = {.count = 1, .reusable = true}, REDUCE(sym_until_modifier, 3, .production_id = 22),
  [3287] = {.count = 1, .reusable = true}, REDUCE(sym_rescue_modifier, 3, .production_id = 23),
  [3289] = {.count = 1, .reusable = true}, REDUCE(sym_end_block, 4),
  [3291] = {.count = 1, .reusable = true}, SHIFT(160),
  [3293] = {.count = 1, .reusable = false}, SHIFT(30),
  [3295] = {.count = 1, .reusable = true}, REDUCE(sym_undef, 2),
  [3297] = {.count = 1, .reusable = true}, SHIFT(2532),
  [3299] = {.count = 1, .reusable = true}, SHIFT(2741),
  [3301] = {.count = 1, .reusable = true}, SHIFT(985),
  [3303] = {.count = 1, .reusable = true}, SHIFT(2801),
  [3305] = {.count = 1, .reusable = true}, SHIFT(2475),
  [3307] = {.count = 1, .reusable = true}, SHIFT(2148),
  [3309] = {.count = 1, .reusable = false}, SHIFT(2547),
  [3311] = {.count = 1, .reusable = true}, SHIFT(2544),
  [3313] = {.count = 1, .reusable = true}, SHIFT(2820),
  [3315] = {.count = 1, .reusable = true}, SHIFT(170),
  [3317] = {.count = 1, .reusable = false}, SHIFT(34),
  [3319] = {.count = 1, .reusable = true}, SHIFT(2752),
  [3321] = {.count = 1, .reusable = true}, SHIFT(948),
  [3323] = {.count = 1, .reusable = true}, SHIFT(2811),
  [3325] = {.count = 1, .reusable = true}, SHIFT(950),
  [3327] = {.count = 1, .reusable = true}, SHIFT(2814),
  [3329] = {.count = 1, .reusable = true}, SHIFT(682),
  [3331] = {.count = 1, .reusable = true}, SHIFT(30),
  [3333] = {.count = 1, .reusable = true}, SHIFT(973),
  [3335] = {.count = 1, .reusable = true}, SHIFT(2888),
  [3337] = {.count = 1, .reusable = true}, SHIFT(266),
  [3339] = {.count = 1, .reusable = true}, SHIFT(277),
  [3341] = {.count = 1, .reusable = true}, SHIFT(280),
  [3343] = {.count = 1, .reusable = true}, SHIFT(286),
  [3345] = {.count = 1, .reusable = true}, SHIFT(278),
  [3347] = {.count = 1, .reusable = true}, SHIFT(946),
  [3349] = {.count = 1, .reusable = true}, SHIFT(2815),
  [3351] = {.count = 1, .reusable = true}, SHIFT(977),
  [3353] = {.count = 1, .reusable = true}, SHIFT(2913),
  [3355] = {.count = 1, .reusable = true}, REDUCE(sym__statements, 2),
  [3357] = {.count = 1, .reusable = true}, SHIFT(2553),
  [3359] = {.count = 1, .reusable = true}, SHIFT(1492),
  [3361] = {.count = 1, .reusable = true}, SHIFT(1109),
  [3363] = {.count = 1, .reusable = true}, SHIFT(2636),
  [3365] = {.count = 1, .reusable = true}, SHIFT(2426),
  [3367] = {.count = 1, .reusable = true}, SHIFT(2713),
  [3369] = {.count = 1, .reusable = true}, SHIFT(951),
  [3371] = {.count = 1, .reusable = true}, SHIFT(2485),
  [3373] = {.count = 1, .reusable = true}, SHIFT(2147),
  [3375] = {.count = 1, .reusable = true}, SHIFT(1431),
  [3377] = {.count = 1, .reusable = true}, SHIFT(281),
  [3379] = {.count = 1, .reusable = true}, SHIFT(296),
  [3381] = {.count = 2, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2), SHIFT_REPEAT(296),
  [3384] = {.count = 1, .reusable = true}, SHIFT(2194),
  [3386] = {.count = 1, .reusable = true}, SHIFT(1573),
  [3388] = {.count = 2, .reusable = true}, REDUCE(aux_sym_undef_repeat1, 2), SHIFT_REPEAT(1573),
  [3391] = {.count = 1, .reusable = true}, SHIFT(169),
  [3393] = {.count = 1, .reusable = true}, SHIFT(32),
  [3395] = {.count = 1, .reusable = true}, SHIFT(960),
  [3397] = {.count = 1, .reusable = true}, SHIFT(275),
  [3399] = {.count = 1, .reusable = true}, SHIFT(279),
  [3401] = {.count = 1, .reusable = true}, SHIFT(285),
  [3403] = {.count = 1, .reusable = true}, SHIFT(284),
  [3405] = {.count = 1, .reusable = true}, SHIFT(283),
  [3407] = {.count = 1, .reusable = true}, SHIFT(144),
  [3409] = {.count = 1, .reusable = true}, SHIFT(288),
  [3411] = {.count = 2, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2), SHIFT_REPEAT(288),
  [3414] = {.count = 1, .reusable = true}, SHIFT(2634),
  [3416] = {.count = 1, .reusable = true}, SHIFT(2559),
  [3418] = {.count = 1, .reusable = true}, SHIFT(357),
  [3420] = {.count = 1, .reusable = true}, SHIFT(147),
  [3422] = {.count = 1, .reusable = true}, SHIFT(1486),
  [3424] = {.count = 1, .reusable = true}, SHIFT(262),
  [3426] = {.count = 1, .reusable = true}, SHIFT(155),
  [3428] = {.count = 1, .reusable = true}, SHIFT(2075),
  [3430] = {.count = 1, .reusable = true}, SHIFT(2070),
  [3432] = {.count = 1, .reusable = false}, SHIFT(205),
  [3434] = {.count = 1, .reusable = false}, SHIFT(2416),
  [3436] = {.count = 1, .reusable = false}, SHIFT(2511),
  [3438] = {.count = 1, .reusable = true}, SHIFT(2511),
  [3440] = {.count = 1, .reusable = true}, SHIFT(1472),
  [3442] = {.count = 1, .reusable = false}, SHIFT(2413),
  [3444] = {.count = 1, .reusable = true}, SHIFT(1466),
  [3446] = {.count = 1, .reusable = true}, SHIFT(926),
  [3448] = {.count = 1, .reusable = false}, SHIFT(2444),
  [3450] = {.count = 1, .reusable = true}, SHIFT(1496),
  [3452] = {.count = 1, .reusable = false}, SHIFT(2429),
  [3454] = {.count = 1, .reusable = true}, SHIFT(2549),
  [3456] = {.count = 1, .reusable = false}, SHIFT(2427),
  [3458] = {.count = 1, .reusable = true}, SHIFT(2646),
  [3460] = {.count = 1, .reusable = false}, SHIFT(2448),
  [3462] = {.count = 1, .reusable = true}, SHIFT(1505),
  [3464] = {.count = 1, .reusable = true}, REDUCE(sym_rest_assignment, 2),
  [3466] = {.count = 1, .reusable = true}, SHIFT(1163),
  [3468] = {.count = 1, .reusable = true}, SHIFT(1065),
  [3470] = {.count = 1, .reusable = true}, SHIFT(2276),
  [3472] = {.count = 1, .reusable = true}, SHIFT(1057),
  [3474] = {.count = 1, .reusable = true}, SHIFT(1173),
  [3476] = {.count = 1, .reusable = true}, SHIFT(901),
  [3478] = {.count = 1, .reusable = true}, SHIFT(911),
  [3480] = {.count = 1, .reusable = true}, SHIFT(927),
  [3482] = {.count = 1, .reusable = true}, SHIFT(1175),
  [3484] = {.count = 1, .reusable = false}, SHIFT(2386),
  [3486] = {.count = 1, .reusable = true}, SHIFT(2588),
  [3488] = {.count = 1, .reusable = true}, REDUCE(aux_sym__body_statement_repeat1, 2),
  [3490] = {.count = 2, .reusable = true}, REDUCE(aux_sym__body_statement_repeat1, 2), SHIFT_REPEAT(262),
  [3493] = {.count = 2, .reusable = true}, REDUCE(aux_sym__body_statement_repeat1, 2), SHIFT_REPEAT(147),
  [3496] = {.count = 2, .reusable = true}, REDUCE(aux_sym__body_statement_repeat1, 2), SHIFT_REPEAT(155),
  [3499] = {.count = 1, .reusable = false}, SHIFT(2412),
  [3501] = {.count = 1, .reusable = true}, SHIFT(2638),
  [3503] = {.count = 1, .reusable = true}, SHIFT(855),
  [3505] = {.count = 1, .reusable = true}, SHIFT(658),
  [3507] = {.count = 1, .reusable = true}, SHIFT(1155),
  [3509] = {.count = 1, .reusable = true}, SHIFT(1441),
  [3511] = {.count = 1, .reusable = true}, SHIFT(1436),
  [3513] = {.count = 1, .reusable = true}, SHIFT(1420),
  [3515] = {.count = 1, .reusable = true}, SHIFT(1154),
  [3517] = {.count = 1, .reusable = true}, SHIFT(1435),
  [3519] = {.count = 1, .reusable = true}, SHIFT(2582),
  [3521] = {.count = 1, .reusable = true}, SHIFT(2581),
  [3523] = {.count = 1, .reusable = false}, SHIFT(2467),
  [3525] = {.count = 1, .reusable = true}, SHIFT(1085),
  [3527] = {.count = 1, .reusable = true}, SHIFT(2239),
  [3529] = {.count = 1, .reusable = true}, SHIFT(2550),
  [3531] = {.count = 1, .reusable = false}, SHIFT(2378),
  [3533] = {.count = 1, .reusable = true}, SHIFT(1133),
  [3535] = {.count = 1, .reusable = true}, SHIFT(1488),
  [3537] = {.count = 1, .reusable = true}, SHIFT(1200),
  [3539] = {.count = 1, .reusable = false}, SHIFT(2371),
  [3541] = {.count = 1, .reusable = true}, SHIFT(1168),
  [3543] = {.count = 1, .reusable = true}, SHIFT(1146),
  [3545] = {.count = 1, .reusable = true}, SHIFT(1207),
  [3547] = {.count = 1, .reusable = false}, SHIFT(2465),
  [3549] = {.count = 1, .reusable = true}, SHIFT(1074),
  [3551] = {.count = 1, .reusable = false}, SHIFT(2359),
  [3553] = {.count = 1, .reusable = true}, SHIFT(1494),
  [3555] = {.count = 1, .reusable = false}, SHIFT(2325),
  [3557] = {.count = 1, .reusable = true}, SHIFT(1145),
  [3559] = {.count = 1, .reusable = true}, SHIFT(2221),
  [3561] = {.count = 1, .reusable = true}, SHIFT(1414),
  [3563] = {.count = 2, .reusable = false}, REDUCE(aux_sym__literal_contents, 2), SHIFT_REPEAT(205),
  [3566] = {.count = 1, .reusable = false}, REDUCE(aux_sym__literal_contents, 2),
  [3568] = {.count = 2, .reusable = false}, REDUCE(aux_sym__literal_contents, 2), SHIFT_REPEAT(2511),
  [3571] = {.count = 2, .reusable = true}, REDUCE(aux_sym__literal_contents, 2), SHIFT_REPEAT(2511),
  [3574] = {.count = 1, .reusable = true}, REDUCE(aux_sym__literal_contents, 2),
  [3576] = {.count = 2, .reusable = true}, REDUCE(aux_sym_chained_string_repeat1, 2), SHIFT_REPEAT(2464),
  [3579] = {.count = 1, .reusable = true}, SHIFT(1440),
  [3581] = {.count = 1, .reusable = false}, SHIFT(2480),
  [3583] = {.count = 1, .reusable = true}, SHIFT(1501),
  [3585] = {.count = 1, .reusable = false}, SHIFT(2361),
  [3587] = {.count = 1, .reusable = true}, SHIFT(2542),
  [3589] = {.count = 1, .reusable = true}, SHIFT(1377),
  [3591] = {.count = 1, .reusable = false}, SHIFT(2322),
  [3593] = {.count = 1, .reusable = true}, SHIFT(1138),
  [3595] = {.count = 1, .reusable = true}, SHIFT(292),
  [3597] = {.count = 1, .reusable = false}, SHIFT(2807),
  [3599] = {.count = 1, .reusable = true}, SHIFT(1105),
  [3601] = {.count = 1, .reusable = true}, SHIFT(1586),
  [3603] = {.count = 1, .reusable = false}, SHIFT(2847),
  [3605] = {.count = 1, .reusable = true}, SHIFT(1088),
  [3607] = {.count = 1, .reusable = true}, SHIFT(2226),
  [3609] = {.count = 1, .reusable = true}, SHIFT(353),
  [3611] = {.count = 1, .reusable = true}, SHIFT(1376),
  [3613] = {.count = 1, .reusable = false}, SHIFT(2358),
  [3615] = {.count = 1, .reusable = true}, SHIFT(2606),
  [3617] = {.count = 1, .reusable = false}, SHIFT(2499),
  [3619] = {.count = 1, .reusable = true}, SHIFT(1459),
  [3621] = {.count = 1, .reusable = false}, SHIFT(2345),
  [3623] = {.count = 1, .reusable = true}, SHIFT(1470),
  [3625] = {.count = 1, .reusable = false}, SHIFT(2483),
  [3627] = {.count = 1, .reusable = true}, SHIFT(1498),
  [3629] = {.count = 1, .reusable = true}, REDUCE(sym_exception_variable, 2),
  [3631] = {.count = 1, .reusable = true}, SHIFT(1005),
  [3633] = {.count = 1, .reusable = false}, SHIFT(2502),
  [3635] = {.count = 1, .reusable = true}, SHIFT(1455),
  [3637] = {.count = 1, .reusable = true}, SHIFT(1069),
  [3639] = {.count = 1, .reusable = false}, SHIFT(2850),
  [3641] = {.count = 1, .reusable = true}, SHIFT(1506),
  [3643] = {.count = 1, .reusable = true}, REDUCE(aux_sym__mlhs_repeat1, 2),
  [3645] = {.count = 1, .reusable = true}, SHIFT(1009),
  [3647] = {.count = 1, .reusable = false}, REDUCE(aux_sym_string_array_repeat1, 2, .production_id = 33),
  [3649] = {.count = 1, .reusable = true}, REDUCE(aux_sym_string_array_repeat1, 2, .production_id = 33),
  [3651] = {.count = 1, .reusable = false}, SHIFT(2421),
  [3653] = {.count = 1, .reusable = true}, REDUCE(sym_splat_parameter, 1),
  [3655] = {.count = 1, .reusable = false}, REDUCE(sym_splat_parameter, 1),
  [3657] = {.count = 1, .reusable = false}, REDUCE(aux_sym_symbol_array_repeat1, 2, .production_id = 36),
  [3659] = {.count = 1, .reusable = true}, REDUCE(aux_sym_symbol_array_repeat1, 2, .production_id = 36),
  [3661] = {.count = 1, .reusable = true}, SHIFT(2468),
  [3663] = {.count = 1, .reusable = false}, SHIFT(2819),
  [3665] = {.count = 1, .reusable = true}, SHIFT(2548),
  [3667] = {.count = 1, .reusable = false}, SHIFT(2856),
  [3669] = {.count = 1, .reusable = true}, SHIFT(1504),
  [3671] = {.count = 1, .reusable = true}, SHIFT(1393),
  [3673] = {.count = 1, .reusable = false}, SHIFT(2818),
  [3675] = {.count = 1, .reusable = true}, SHIFT(2560),
  [3677] = {.count = 1, .reusable = true}, SHIFT(1043),
  [3679] = {.count = 2, .reusable = true}, REDUCE(aux_sym_undef_repeat1, 2), SHIFT_REPEAT(1586),
  [3682] = {.count = 1, .reusable = false}, SHIFT(2419),
  [3684] = {.count = 1, .reusable = true}, REDUCE(sym_hash_splat_parameter, 1),
  [3686] = {.count = 1, .reusable = false}, REDUCE(sym_hash_splat_parameter, 1),
  [3688] = {.count = 1, .reusable = true}, SHIFT(1477),
  [3690] = {.count = 1, .reusable = true}, SHIFT(1128),
  [3692] = {.count = 1, .reusable = false}, SHIFT(2408),
  [3694] = {.count = 1, .reusable = true}, SHIFT(1531),
  [3696] = {.count = 1, .reusable = false}, SHIFT(2397),
  [3698] = {.count = 1, .reusable = true}, SHIFT(1532),
  [3700] = {.count = 1, .reusable = false}, SHIFT(206),
  [3702] = {.count = 1, .reusable = true}, SHIFT(2610),
  [3704] = {.count = 1, .reusable = true}, SHIFT(1509),
  [3706] = {.count = 1, .reusable = true}, SHIFT(1024),
  [3708] = {.count = 1, .reusable = true}, SHIFT(1110),
  [3710] = {.count = 1, .reusable = true}, SHIFT(1510),
  [3712] = {.count = 1, .reusable = true}, SHIFT(1370),
  [3714] = {.count = 1, .reusable = true}, SHIFT(1120),
  [3716] = {.count = 1, .reusable = true}, SHIFT(1369),
  [3718] = {.count = 1, .reusable = true}, SHIFT(2482),
  [3720] = {.count = 1, .reusable = true}, SHIFT(297),
  [3722] = {.count = 1, .reusable = true}, SHIFT(295),
  [3724] = {.count = 1, .reusable = true}, SHIFT(294),
  [3726] = {.count = 1, .reusable = true}, SHIFT(293),
  [3728] = {.count = 1, .reusable = true}, SHIFT(287),
  [3730] = {.count = 1, .reusable = true}, SHIFT(2574),
  [3732] = {.count = 1, .reusable = true}, SHIFT(1427),
  [3734] = {.count = 1, .reusable = true}, SHIFT(1424),
  [3736] = {.count = 1, .reusable = true}, SHIFT(1423),
  [3738] = {.count = 1, .reusable = true}, SHIFT(1468),
  [3740] = {.count = 1, .reusable = true}, SHIFT(1409),
  [3742] = {.count = 1, .reusable = true}, REDUCE(sym_then, 2),
  [3744] = {.count = 1, .reusable = true}, REDUCE(aux_sym_for_repeat1, 2, .production_id = 42),
  [3746] = {.count = 1, .reusable = false}, SHIFT(2935),
  [3748] = {.count = 1, .reusable = true}, SHIFT(1502),
  [3750] = {.count = 1, .reusable = true}, SHIFT(1407),
  [3752] = {.count = 1, .reusable = true}, SHIFT(1434),
  [3754] = {.count = 1, .reusable = true}, SHIFT(1367),
  [3756] = {.count = 1, .reusable = true}, SHIFT(2655),
  [3758] = {.count = 1, .reusable = true}, SHIFT(2621),
  [3760] = {.count = 1, .reusable = true}, SHIFT(2656),
  [3762] = {.count = 1, .reusable = true}, SHIFT(2577),
  [3764] = {.count = 1, .reusable = true}, SHIFT(2206),
  [3766] = {.count = 1, .reusable = true}, SHIFT(2200),
  [3768] = {.count = 1, .reusable = false}, SHIFT(2966),
  [3770] = {.count = 1, .reusable = true}, SHIFT(1500),
  [3772] = {.count = 1, .reusable = true}, SHIFT(1415),
  [3774] = {.count = 1, .reusable = true}, SHIFT(2569),
  [3776] = {.count = 1, .reusable = true}, SHIFT(1159),
  [3778] = {.count = 1, .reusable = true}, SHIFT(2570),
  [3780] = {.count = 1, .reusable = true}, SHIFT(1408),
  [3782] = {.count = 1, .reusable = true}, SHIFT(1405),
  [3784] = {.count = 1, .reusable = true}, SHIFT(2571),
  [3786] = {.count = 1, .reusable = true}, SHIFT(1412),
  [3788] = {.count = 1, .reusable = true}, REDUCE(sym__simple_formal_parameter, 1),
  [3790] = {.count = 1, .reusable = true}, REDUCE(sym_block_parameter, 2, .production_id = 6),
  [3792] = {.count = 1, .reusable = true}, REDUCE(sym_hash_splat_parameter, 2, .production_id = 6),
  [3794] = {.count = 1, .reusable = true}, REDUCE(sym_splat_parameter, 2, .production_id = 6),
  [3796] = {.count = 1, .reusable = true}, REDUCE(sym__formal_parameter, 1),
  [3798] = {.count = 1, .reusable = true}, REDUCE(sym__formal_parameter, 1, .production_id = 19),
  [3800] = {.count = 1, .reusable = true}, SHIFT(2640),
  [3802] = {.count = 1, .reusable = true}, SHIFT(2617),
  [3804] = {.count = 1, .reusable = true}, SHIFT(1089),
  [3806] = {.count = 1, .reusable = true}, SHIFT(1684),
  [3808] = {.count = 1, .reusable = true}, SHIFT(1097),
  [3810] = {.count = 1, .reusable = true}, REDUCE(sym_exceptions, 2),
  [3812] = {.count = 2, .reusable = true}, REDUCE(aux_sym_exceptions_repeat1, 2), SHIFT_REPEAT(362),
  [3815] = {.count = 1, .reusable = true}, SHIFT(1098),
  [3817] = {.count = 1, .reusable = true}, SHIFT(1695),
  [3819] = {.count = 1, .reusable = true}, SHIFT(1083),
  [3821] = {.count = 1, .reusable = true}, SHIFT(1010),
  [3823] = {.count = 1, .reusable = true}, SHIFT(2585),
  [3825] = {.count = 1, .reusable = true}, SHIFT(1465),
  [3827] = {.count = 1, .reusable = true}, SHIFT(2562),
  [3829] = {.count = 1, .reusable = true}, SHIFT(1671),
  [3831] = {.count = 1, .reusable = true}, SHIFT(2568),
  [3833] = {.count = 1, .reusable = true}, SHIFT(1469),
  [3835] = {.count = 1, .reusable = true}, SHIFT(2094),
  [3837] = {.count = 1, .reusable = true}, SHIFT(2481),
  [3839] = {.count = 1, .reusable = true}, SHIFT(2603),
  [3841] = {.count = 1, .reusable = true}, SHIFT(1670),
  [3843] = {.count = 1, .reusable = true}, SHIFT(2573),
  [3845] = {.count = 1, .reusable = true}, REDUCE(sym_then, 3),
  [3847] = {.count = 1, .reusable = true}, SHIFT(1071),
  [3849] = {.count = 1, .reusable = true}, SHIFT(2591),
  [3851] = {.count = 1, .reusable = true}, SHIFT(1102),
  [3853] = {.count = 1, .reusable = true}, SHIFT(1147),
  [3855] = {.count = 1, .reusable = true}, SHIFT(2088),
  [3857] = {.count = 1, .reusable = true}, REDUCE(aux_sym_parameters_repeat1, 2),
  [3859] = {.count = 1, .reusable = true}, SHIFT(2487),
  [3861] = {.count = 1, .reusable = true}, SHIFT(1131),
  [3863] = {.count = 1, .reusable = true}, SHIFT(1152),
  [3865] = {.count = 1, .reusable = true}, SHIFT(1162),
  [3867] = {.count = 1, .reusable = true}, SHIFT(2619),
  [3869] = {.count = 1, .reusable = true}, SHIFT(1158),
  [3871] = {.count = 1, .reusable = true}, SHIFT(1165),
  [3873] = {.count = 2, .reusable = false}, REDUCE(aux_sym__literal_contents, 2), SHIFT_REPEAT(206),
  [3876] = {.count = 2, .reusable = true}, REDUCE(aux_sym__literal_contents, 2), SHIFT_REPEAT(2610),
  [3879] = {.count = 1, .reusable = true}, SHIFT(1507),
  [3881] = {.count = 1, .reusable = true}, SHIFT(336),
  [3883] = {.count = 1, .reusable = true}, SHIFT(672),
  [3885] = {.count = 2, .reusable = false}, REDUCE(aux_sym_heredoc_body_repeat1, 2), SHIFT_REPEAT(207),
  [3888] = {.count = 2, .reusable = true}, REDUCE(aux_sym_heredoc_body_repeat1, 2), SHIFT_REPEAT(2476),
  [3891] = {.count = 1, .reusable = true}, REDUCE(aux_sym_heredoc_body_repeat1, 2),
  [3893] = {.count = 1, .reusable = true}, SHIFT(2711),
  [3895] = {.count = 1, .reusable = true}, SHIFT(1458),
  [3897] = {.count = 1, .reusable = false}, REDUCE(sym_interpolation, 3),
  [3899] = {.count = 1, .reusable = true}, REDUCE(sym_interpolation, 3),
  [3901] = {.count = 1, .reusable = true}, SHIFT(1454),
  [3903] = {.count = 1, .reusable = true}, SHIFT(380),
  [3905] = {.count = 1, .reusable = true}, SHIFT(594),
  [3907] = {.count = 1, .reusable = true}, SHIFT(1130),
  [3909] = {.count = 1, .reusable = true}, SHIFT(203),
  [3911] = {.count = 1, .reusable = true}, SHIFT(2637),
  [3913] = {.count = 1, .reusable = true}, SHIFT(1136),
  [3915] = {.count = 1, .reusable = true}, SHIFT(2600),
  [3917] = {.count = 1, .reusable = true}, SHIFT(2596),
  [3919] = {.count = 1, .reusable = true}, SHIFT(1379),
  [3921] = {.count = 1, .reusable = true}, SHIFT(1380),
  [3923] = {.count = 1, .reusable = true}, SHIFT(1381),
  [3925] = {.count = 1, .reusable = true}, SHIFT(1382),
  [3927] = {.count = 1, .reusable = false}, SHIFT(207),
  [3929] = {.count = 1, .reusable = true}, SHIFT(2476),
  [3931] = {.count = 1, .reusable = true}, SHIFT(2926),
  [3933] = {.count = 1, .reusable = true}, SHIFT(2504),
  [3935] = {.count = 1, .reusable = true}, SHIFT(2941),
  [3937] = {.count = 1, .reusable = true}, SHIFT(1394),
  [3939] = {.count = 1, .reusable = false}, REDUCE(aux_sym__literal_contents, 1),
  [3941] = {.count = 1, .reusable = true}, REDUCE(aux_sym__literal_contents, 1),
  [3943] = {.count = 1, .reusable = true}, SHIFT(1546),
  [3945] = {.count = 1, .reusable = true}, REDUCE(sym_elsif, 3, .production_id = 41),
  [3947] = {.count = 1, .reusable = true}, SHIFT(2382),
  [3949] = {.count = 1, .reusable = true}, SHIFT(1400),
  [3951] = {.count = 1, .reusable = true}, SHIFT(1448),
  [3953] = {.count = 1, .reusable = true}, REDUCE(aux_sym_case_repeat2, 2),
  [3955] = {.count = 2, .reusable = true}, REDUCE(aux_sym_case_repeat2, 2), SHIFT_REPEAT(357),
  [3958] = {.count = 1, .reusable = true}, SHIFT(1353),
  [3960] = {.count = 2, .reusable = true}, REDUCE(aux_sym_case_repeat1, 2), SHIFT_REPEAT(2634),
  [3963] = {.count = 1, .reusable = true}, REDUCE(aux_sym_case_repeat1, 2),
  [3965] = {.count = 1, .reusable = true}, SHIFT(1446),
  [3967] = {.count = 2, .reusable = true}, REDUCE(aux_sym_when_repeat1, 2), SHIFT_REPEAT(353),
  [3970] = {.count = 1, .reusable = true}, REDUCE(aux_sym_when_repeat1, 2),
  [3972] = {.count = 1, .reusable = true}, SHIFT(1524),
  [3974] = {.count = 1, .reusable = true}, SHIFT(1534),
  [3976] = {.count = 1, .reusable = true}, SHIFT(1508),
  [3978] = {.count = 1, .reusable = true}, SHIFT(1533),
  [3980] = {.count = 1, .reusable = true}, SHIFT(1398),
  [3982] = {.count = 1, .reusable = true}, SHIFT(2394),
  [3984] = {.count = 1, .reusable = true}, SHIFT(1397),
  [3986] = {.count = 1, .reusable = true}, SHIFT(343),
  [3988] = {.count = 1, .reusable = true}, SHIFT(645),
  [3990] = {.count = 1, .reusable = true}, SHIFT(1355),
  [3992] = {.count = 1, .reusable = true}, REDUCE(sym_rescue, 3, .production_id = 46),
  [3994] = {.count = 1, .reusable = true}, SHIFT(2152),
  [3996] = {.count = 1, .reusable = true}, REDUCE(sym_bare_parameters, 1),
  [3998] = {.count = 1, .reusable = true}, SHIFT(27),
  [4000] = {.count = 1, .reusable = true}, SHIFT(2682),
  [4002] = {.count = 2, .reusable = true}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(2150),
  [4005] = {.count = 1, .reusable = true}, SHIFT(2681),
  [4007] = {.count = 1, .reusable = true}, SHIFT(1758),
  [4009] = {.count = 1, .reusable = true}, SHIFT(242),
  [4011] = {.count = 1, .reusable = true}, SHIFT(2778),
  [4013] = {.count = 2, .reusable = true}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(2152),
  [4016] = {.count = 1, .reusable = true}, SHIFT(2131),
  [4018] = {.count = 1, .reusable = true}, SHIFT(947),
  [4020] = {.count = 1, .reusable = true}, SHIFT(2813),
  [4022] = {.count = 1, .reusable = true}, SHIFT(852),
  [4024] = {.count = 1, .reusable = true}, SHIFT(2136),
  [4026] = {.count = 1, .reusable = true}, SHIFT(989),
  [4028] = {.count = 1, .reusable = true}, SHIFT(2858),
  [4030] = {.count = 1, .reusable = true}, SHIFT(2138),
  [4032] = {.count = 1, .reusable = true}, SHIFT(2151),
  [4034] = {.count = 1, .reusable = true}, SHIFT(24),
  [4036] = {.count = 2, .reusable = true}, REDUCE(aux_sym__mlhs_repeat1, 2), SHIFT_REPEAT(857),
  [4039] = {.count = 1, .reusable = true}, SHIFT(1760),
  [4041] = {.count = 1, .reusable = true}, SHIFT(244),
  [4043] = {.count = 1, .reusable = true}, SHIFT(2775),
  [4045] = {.count = 1, .reusable = true}, REDUCE(sym_destructured_left_assignment, 3),
  [4047] = {.count = 2, .reusable = true}, REDUCE(aux_sym_command_argument_list_repeat1, 2), SHIFT_REPEAT(282),
  [4050] = {.count = 1, .reusable = true}, SHIFT(2139),
  [4052] = {.count = 1, .reusable = true}, REDUCE(sym__argument_list_with_trailing_comma, 1),
  [4054] = {.count = 1, .reusable = true}, SHIFT(245),
  [4056] = {.count = 2, .reusable = true}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(2151),
  [4059] = {.count = 1, .reusable = true}, REDUCE(sym_rescue, 3, .production_id = 48),
  [4061] = {.count = 1, .reusable = true}, REDUCE(sym__mlhs, 1),
  [4063] = {.count = 1, .reusable = true}, REDUCE(sym_rescue, 4, .production_id = 60),
  [4065] = {.count = 1, .reusable = true}, REDUCE(sym_bare_parameters, 2),
  [4067] = {.count = 1, .reusable = true}, REDUCE(aux_sym_case_repeat1, 1),
  [4069] = {.count = 1, .reusable = true}, SHIFT(361),
  [4071] = {.count = 1, .reusable = true}, SHIFT(585),
  [4073] = {.count = 1, .reusable = true}, REDUCE(sym_else, 3, .production_id = 17),
  [4075] = {.count = 1, .reusable = true}, SHIFT(1411),
  [4077] = {.count = 1, .reusable = true}, SHIFT(235),
  [4079] = {.count = 1, .reusable = true}, SHIFT(1372),
  [4081] = {.count = 1, .reusable = true}, REDUCE(sym_ensure, 2),
  [4083] = {.count = 1, .reusable = true}, REDUCE(aux_sym__body_statement_repeat1, 1),
  [4085] = {.count = 1, .reusable = true}, REDUCE(sym_else, 2),
  [4087] = {.count = 1, .reusable = true}, REDUCE(sym_rescue, 2, .production_id = 7),
  [4089] = {.count = 1, .reusable = true}, SHIFT(2461),
  [4091] = {.count = 2, .reusable = true}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(2149),
  [4094] = {.count = 1, .reusable = true}, SHIFT(2415),
  [4096] = {.count = 1, .reusable = true}, SHIFT(2410),
  [4098] = {.count = 1, .reusable = true}, SHIFT(2414),
  [4100] = {.count = 1, .reusable = true}, REDUCE(sym_when, 3, .production_id = 59),
  [4102] = {.count = 1, .reusable = true}, SHIFT(2455),
  [4104] = {.count = 1, .reusable = true}, SHIFT(2149),
  [4106] = {.count = 1, .reusable = true}, REDUCE(aux_sym_case_repeat2, 1),
  [4108] = {.count = 1, .reusable = true}, SHIFT(2884),
  [4110] = {.count = 1, .reusable = true}, SHIFT(944),
  [4112] = {.count = 1, .reusable = true}, SHIFT(2710),
  [4114] = {.count = 1, .reusable = true}, SHIFT(2404),
  [4116] = {.count = 1, .reusable = true}, SHIFT(2403),
  [4118] = {.count = 1, .reusable = true}, SHIFT(320),
  [4120] = {.count = 1, .reusable = true}, SHIFT(321),
  [4122] = {.count = 1, .reusable = true}, SHIFT(2537),
  [4124] = {.count = 1, .reusable = true}, SHIFT(317),
  [4126] = {.count = 1, .reusable = true}, SHIFT(2708),
  [4128] = {.count = 1, .reusable = true}, SHIFT(943),
  [4130] = {.count = 1, .reusable = true}, SHIFT(34),
  [4132] = {.count = 1, .reusable = true}, SHIFT(322),
  [4134] = {.count = 1, .reusable = true}, SHIFT(2409),
  [4136] = {.count = 1, .reusable = true}, SHIFT(945),
  [4138] = {.count = 2, .reusable = true}, REDUCE(aux_sym_string_array_repeat1, 2), SHIFT_REPEAT(2477),
  [4141] = {.count = 1, .reusable = true}, REDUCE(aux_sym_string_array_repeat1, 2),
  [4143] = {.count = 1, .reusable = true}, SHIFT(2459),
  [4145] = {.count = 1, .reusable = true}, SHIFT(988),
  [4147] = {.count = 2, .reusable = true}, REDUCE(aux_sym_symbol_array_repeat1, 2), SHIFT_REPEAT(2479),
  [4150] = {.count = 1, .reusable = true}, REDUCE(aux_sym_symbol_array_repeat1, 2),
  [4152] = {.count = 1, .reusable = true}, REDUCE(aux_sym_hash_repeat1, 2),
  [4154] = {.count = 2, .reusable = true}, REDUCE(aux_sym_hash_repeat1, 2), SHIFT_REPEAT(328),
  [4157] = {.count = 1, .reusable = true}, SHIFT(1495),
  [4159] = {.count = 1, .reusable = true}, SHIFT(318),
  [4161] = {.count = 1, .reusable = true}, SHIFT(990),
  [4163] = {.count = 1, .reusable = true}, SHIFT(949),
  [4165] = {.count = 1, .reusable = true}, SHIFT(1106),
  [4167] = {.count = 1, .reusable = true}, SHIFT(315),
  [4169] = {.count = 1, .reusable = true}, SHIFT(991),
  [4171] = {.count = 1, .reusable = true}, SHIFT(2456),
  [4173] = {.count = 2, .reusable = true}, REDUCE(aux_sym_for_repeat1, 2, .production_id = 44), SHIFT_REPEAT(855),
  [4176] = {.count = 1, .reusable = true}, REDUCE(aux_sym_for_repeat1, 2, .production_id = 44),
  [4178] = {.count = 1, .reusable = true}, SHIFT(2388),
  [4180] = {.count = 1, .reusable = true}, SHIFT(2428),
  [4182] = {.count = 2, .reusable = true}, REDUCE(aux_sym_block_parameters_repeat1, 2), SHIFT_REPEAT(2884),
  [4185] = {.count = 1, .reusable = true}, REDUCE(aux_sym_block_parameters_repeat1, 2),
  [4187] = {.count = 1, .reusable = true}, SHIFT(2389),
  [4189] = {.count = 1, .reusable = true}, SHIFT(941),
  [4191] = {.count = 1, .reusable = true}, SHIFT(2383),
  [4193] = {.count = 1, .reusable = true}, REDUCE(sym_when, 4, .production_id = 66),
  [4195] = {.count = 1, .reusable = true}, SHIFT(2529),
  [4197] = {.count = 1, .reusable = true}, SHIFT(902),
  [4199] = {.count = 1, .reusable = true}, SHIFT(219),
  [4201] = {.count = 1, .reusable = true}, SHIFT(216),
  [4203] = {.count = 1, .reusable = true}, SHIFT(307),
  [4205] = {.count = 1, .reusable = true}, SHIFT(218),
  [4207] = {.count = 1, .reusable = true}, SHIFT(898),
  [4209] = {.count = 1, .reusable = true}, REDUCE(sym_program, 1),
  [4211] = {.count = 1, .reusable = true}, SHIFT(2783),
  [4213] = {.count = 1, .reusable = true}, SHIFT(230),
  [4215] = {.count = 1, .reusable = true}, SHIFT(882),
  [4217] = {.count = 1, .reusable = true}, SHIFT(1560),
  [4219] = {.count = 1, .reusable = true}, SHIFT(1561),
  [4221] = {.count = 1, .reusable = true}, SHIFT(995),
  [4223] = {.count = 1, .reusable = true}, SHIFT(877),
  [4225] = {.count = 1, .reusable = true}, SHIFT(1554),
  [4227] = {.count = 1, .reusable = true}, SHIFT(1562),
  [4229] = {.count = 1, .reusable = true}, SHIFT(2601),
  [4231] = {.count = 1, .reusable = true}, REDUCE(sym_left_assignment_list, 1),
  [4233] = {.count = 1, .reusable = false}, SHIFT(2608),
  [4235] = {.count = 1, .reusable = true}, SHIFT(308),
  [4237] = {.count = 1, .reusable = true}, SHIFT(1016),
  [4239] = {.count = 1, .reusable = true}, SHIFT(2162),
  [4241] = {.count = 1, .reusable = true}, SHIFT(2500),
  [4243] = {.count = 1, .reusable = true}, SHIFT(1555),
  [4245] = {.count = 1, .reusable = true}, SHIFT(1497),
  [4247] = {.count = 1, .reusable = true}, SHIFT(323),
  [4249] = {.count = 1, .reusable = true}, SHIFT(1119),
  [4251] = {.count = 1, .reusable = true}, SHIFT(2158),
  [4253] = {.count = 1, .reusable = true}, SHIFT(327),
  [4255] = {.count = 1, .reusable = true}, SHIFT(2531),
  [4257] = {.count = 1, .reusable = true}, SHIFT(2503),
  [4259] = {.count = 1, .reusable = true}, SHIFT(2169),
  [4261] = {.count = 1, .reusable = true}, SHIFT(1078),
  [4263] = {.count = 1, .reusable = true}, SHIFT(304),
  [4265] = {.count = 1, .reusable = true}, SHIFT(2157),
  [4267] = {.count = 1, .reusable = true}, SHIFT(1557),
  [4269] = {.count = 1, .reusable = true}, SHIFT(301),
  [4271] = {.count = 1, .reusable = true}, SHIFT(1148),
  [4273] = {.count = 1, .reusable = true}, SHIFT(354),
  [4275] = {.count = 1, .reusable = true}, SHIFT(2836),
  [4277] = {.count = 1, .reusable = true}, SHIFT(2195),
  [4279] = {.count = 1, .reusable = true}, SHIFT(335),
  [4281] = {.count = 1, .reusable = true}, REDUCE(sym_program, 4),
  [4283] = {.count = 1, .reusable = true}, SHIFT(332),
  [4285] = {.count = 1, .reusable = true}, SHIFT(2122),
  [4287] = {.count = 1, .reusable = true}, SHIFT(339),
  [4289] = {.count = 1, .reusable = true}, SHIFT(2067),
  [4291] = {.count = 1, .reusable = true}, SHIFT(310),
  [4293] = {.count = 1, .reusable = true}, SHIFT(2418),
  [4295] = {.count = 1, .reusable = true}, SHIFT(224),
  [4297] = {.count = 1, .reusable = true}, SHIFT(1079),
  [4299] = {.count = 1, .reusable = true}, SHIFT(334),
  [4301] = {.count = 1, .reusable = true}, SHIFT(352),
  [4303] = {.count = 1, .reusable = true}, SHIFT(344),
  [4305] = {.count = 1, .reusable = true}, SHIFT(2552),
  [4307] = {.count = 1, .reusable = true}, SHIFT(2688),
  [4309] = {.count = 1, .reusable = true}, SHIFT(1127),
  [4311] = {.count = 1, .reusable = true}, SHIFT(2567),
  [4313] = {.count = 1, .reusable = true}, SHIFT(345),
  [4315] = {.count = 1, .reusable = true}, SHIFT(899),
  [4317] = {.count = 1, .reusable = true}, SHIFT(1135),
  [4319] = {.count = 1, .reusable = true}, SHIFT(2324),
  [4321] = {.count = 1, .reusable = true}, SHIFT(878),
  [4323] = {.count = 1, .reusable = true}, SHIFT(2714),
  [4325] = {.count = 1, .reusable = true}, SHIFT(333),
  [4327] = {.count = 1, .reusable = true}, SHIFT(2707),
  [4329] = {.count = 1, .reusable = true}, SHIFT(2702),
  [4331] = {.count = 1, .reusable = true}, SHIFT(2696),
  [4333] = {.count = 1, .reusable = true}, SHIFT(1482),
  [4335] = {.count = 1, .reusable = true}, SHIFT(363),
  [4337] = {.count = 1, .reusable = true}, SHIFT(2579),
  [4339] = {.count = 1, .reusable = true}, SHIFT(2630),
  [4341] = {.count = 1, .reusable = true}, SHIFT(2683),
  [4343] = {.count = 1, .reusable = true}, SHIFT(2906),
  [4345] = {.count = 1, .reusable = true}, SHIFT(226),
  [4347] = {.count = 1, .reusable = true}, SHIFT(189),
  [4349] = {.count = 1, .reusable = true}, SHIFT(1535),
  [4351] = {.count = 1, .reusable = true}, SHIFT(183),
  [4353] = {.count = 1, .reusable = true}, SHIFT(2255),
  [4355] = {.count = 1, .reusable = true}, SHIFT(1046),
  [4357] = {.count = 1, .reusable = true}, SHIFT(1566),
  [4359] = {.count = 1, .reusable = true}, SHIFT(329),
  [4361] = {.count = 1, .reusable = true}, SHIFT(2163),
  [4363] = {.count = 1, .reusable = true}, SHIFT(220),
  [4365] = {.count = 1, .reusable = true}, SHIFT(2786),
  [4367] = {.count = 1, .reusable = true}, SHIFT(2230),
  [4369] = {.count = 1, .reusable = true}, SHIFT(2629),
  [4371] = {.count = 1, .reusable = true}, SHIFT(338),
  [4373] = {.count = 1, .reusable = true}, SHIFT(2628),
  [4375] = {.count = 1, .reusable = true}, SHIFT(2616),
  [4377] = {.count = 1, .reusable = true}, SHIFT(228),
  [4379] = {.count = 1, .reusable = true}, SHIFT(2594),
  [4381] = {.count = 1, .reusable = true},  ACCEPT_INPUT(),
  [4383] = {.count = 1, .reusable = true}, SHIFT(1172),
  [4385] = {.count = 1, .reusable = true}, SHIFT(2583),
  [4387] = {.count = 1, .reusable = true}, SHIFT(1564),
  [4389] = {.count = 1, .reusable = true}, SHIFT(1473),
  [4391] = {.count = 1, .reusable = true}, SHIFT(1081),
  [4393] = {.count = 1, .reusable = true}, SHIFT(1062),
  [4395] = {.count = 1, .reusable = true}, SHIFT(227),
  [4397] = {.count = 1, .reusable = true}, SHIFT(929),
  [4399] = {.count = 1, .reusable = true}, SHIFT(1467),
  [4401] = {.count = 1, .reusable = true}, SHIFT(1030),
  [4403] = {.count = 1, .reusable = true}, SHIFT(2733),
  [4405] = {.count = 1, .reusable = true}, SHIFT(223),
  [4407] = {.count = 1, .reusable = true}, SHIFT(1550),
  [4409] = {.count = 1, .reusable = true}, SHIFT(213),
  [4411] = {.count = 1, .reusable = true}, SHIFT(1493),
  [4413] = {.count = 1, .reusable = true}, SHIFT(1112),
  [4415] = {.count = 1, .reusable = true}, SHIFT(349),
  [4417] = {.count = 1, .reusable = true}, SHIFT(2658),
  [4419] = {.count = 1, .reusable = true}, SHIFT(904),
  [4421] = {.count = 1, .reusable = true}, SHIFT(2663),
  [4423] = {.count = 1, .reusable = true}, SHIFT(1029),
  [4425] = {.count = 1, .reusable = true}, SHIFT(1195),
  [4427] = {.count = 1, .reusable = true}, SHIFT(341),
  [4429] = {.count = 1, .reusable = true}, SHIFT(347),
  [4431] = {.count = 1, .reusable = true}, SHIFT(225),
  [4433] = {.count = 1, .reusable = true}, SHIFT(974),
  [4435] = {.count = 1, .reusable = true}, SHIFT(346),
  [4437] = {.count = 1, .reusable = true}, SHIFT(900),
  [4439] = {.count = 1, .reusable = true}, SHIFT(1108),
  [4441] = {.count = 1, .reusable = true}, SHIFT(1087),
  [4443] = {.count = 1, .reusable = true}, SHIFT(2749),
  [4445] = {.count = 1, .reusable = true}, SHIFT(366),
  [4447] = {.count = 1, .reusable = true}, SHIFT(1417),
  [4449] = {.count = 1, .reusable = true}, SHIFT(2116),
  [4451] = {.count = 1, .reusable = true}, SHIFT(2722),
  [4453] = {.count = 1, .reusable = true}, SHIFT(1430),
  [4455] = {.count = 1, .reusable = true}, SHIFT(358),
  [4457] = {.count = 1, .reusable = true}, REDUCE(sym_program, 3),
  [4459] = {.count = 1, .reusable = true}, SHIFT(1095),
  [4461] = {.count = 1, .reusable = true}, SHIFT(922),
  [4463] = {.count = 1, .reusable = true}, SHIFT(1099),
  [4465] = {.count = 1, .reusable = true}, SHIFT(303),
  [4467] = {.count = 1, .reusable = true}, SHIFT(330),
  [4469] = {.count = 1, .reusable = true}, SHIFT(1104),
  [4471] = {.count = 1, .reusable = true}, SHIFT(1114),
  [4473] = {.count = 1, .reusable = true}, SHIFT(1123),
  [4475] = {.count = 1, .reusable = true}, SHIFT(1404),
  [4477] = {.count = 1, .reusable = true}, SHIFT(2893),
  [4479] = {.count = 1, .reusable = true}, SHIFT(359),
  [4481] = {.count = 1, .reusable = true}, SHIFT(998),
  [4483] = {.count = 1, .reusable = true}, SHIFT(351),
  [4485] = {.count = 1, .reusable = true}, SHIFT(355),
  [4487] = {.count = 1, .reusable = true}, SHIFT(1395),
  [4489] = {.count = 1, .reusable = true}, SHIFT(1378),
  [4491] = {.count = 1, .reusable = true}, SHIFT(2717),
  [4493] = {.count = 1, .reusable = true}, SHIFT(1428),
  [4495] = {.count = 1, .reusable = true}, SHIFT(1426),
  [4497] = {.count = 1, .reusable = true}, REDUCE(sym_elsif, 4, .production_id = 56),
  [4499] = {.count = 1, .reusable = true}, SHIFT(983),
  [4501] = {.count = 1, .reusable = true}, REDUCE(sym_elsif, 4, .production_id = 57),
  [4503] = {.count = 1, .reusable = true}, SHIFT(1189),
  [4505] = {.count = 1, .reusable = true}, SHIFT(1388),
  [4507] = {.count = 1, .reusable = true}, SHIFT(375),
  [4509] = {.count = 1, .reusable = true}, SHIFT(369),
  [4511] = {.count = 1, .reusable = true}, REDUCE(sym_heredoc_body, 3),
  [4513] = {.count = 1, .reusable = true}, SHIFT(2211),
  [4515] = {.count = 1, .reusable = true}, SHIFT(197),
  [4517] = {.count = 1, .reusable = true}, SHIFT(1387),
  [4519] = {.count = 1, .reusable = true}, SHIFT(1017),
  [4521] = {.count = 1, .reusable = true}, SHIFT(247),
  [4523] = {.count = 1, .reusable = true}, SHIFT(981),
  [4525] = {.count = 1, .reusable = true}, SHIFT(1460),
  [4527] = {.count = 1, .reusable = true}, SHIFT(1484),
  [4529] = {.count = 1, .reusable = true}, SHIFT(364),
  [4531] = {.count = 1, .reusable = true}, SHIFT(1401),
  [4533] = {.count = 1, .reusable = true}, REDUCE(sym_heredoc_body, 2),
  [4535] = {.count = 1, .reusable = true}, SHIFT(1391),
  [4537] = {.count = 1, .reusable = true}, SHIFT(1389),
  [4539] = {.count = 1, .reusable = true}, SHIFT(2505),
  [4541] = {.count = 1, .reusable = true}, SHIFT(1475),
  [4543] = {.count = 1, .reusable = true}, SHIFT(194),
  [4545] = {.count = 1, .reusable = true}, SHIFT(992),
  [4547] = {.count = 1, .reusable = true}, SHIFT(1011),
  [4549] = {.count = 1, .reusable = true}, SHIFT(1049),
  [4551] = {.count = 1, .reusable = true}, SHIFT(1390),
  [4553] = {.count = 1, .reusable = true}, SHIFT(1402),
  [4555] = {.count = 1, .reusable = true}, SHIFT(372),
  [4557] = {.count = 1, .reusable = true}, SHIFT(1068),
  [4559] = {.count = 1, .reusable = true}, SHIFT(1483),
  [4561] = {.count = 1, .reusable = true}, SHIFT(337),
  [4563] = {.count = 1, .reusable = true}, SHIFT(385),
  [4565] = {.count = 1, .reusable = true}, SHIFT(243),
  [4567] = {.count = 1, .reusable = true}, SHIFT(1438),
  [4569] = {.count = 1, .reusable = true}, SHIFT(2507),
  [4571] = {.count = 1, .reusable = true}, SHIFT(360),
  [4573] = {.count = 1, .reusable = true}, SHIFT(1457),
};

void *tree_sitter_ruby_external_scanner_create(void);
void tree_sitter_ruby_external_scanner_destroy(void *);
bool tree_sitter_ruby_external_scanner_scan(void *, TSLexer *, const bool *);
unsigned tree_sitter_ruby_external_scanner_serialize(void *, char *);
void tree_sitter_ruby_external_scanner_deserialize(void *, const char *, unsigned);

#ifdef _WIN32
#define extern __declspec(dllexport)
#endif

extern const TSLanguage *tree_sitter_ruby(void) {
  static TSLanguage language = {
    .version = LANGUAGE_VERSION,
    .symbol_count = SYMBOL_COUNT,
    .alias_count = ALIAS_COUNT,
    .token_count = TOKEN_COUNT,
    .large_state_count = LARGE_STATE_COUNT,
    .symbol_metadata = ts_symbol_metadata,
    .parse_table = (const unsigned short *)ts_parse_table,
    .small_parse_table = (const uint16_t *)ts_small_parse_table,
    .small_parse_table_map = (const uint32_t *)ts_small_parse_table_map,
    .parse_actions = ts_parse_actions,
    .lex_modes = ts_lex_modes,
    .symbol_names = ts_symbol_names,
    .public_symbol_map = ts_symbol_map,
    .alias_sequences = (const TSSymbol *)ts_alias_sequences,
    .field_count = FIELD_COUNT,
    .field_names = ts_field_names,
    .field_map_slices = (const TSFieldMapSlice *)ts_field_map_slices,
    .field_map_entries = (const TSFieldMapEntry *)ts_field_map_entries,
    .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
    .lex_fn = ts_lex,
    .keyword_lex_fn = ts_lex_keywords,
    .keyword_capture_token = sym_identifier,
    .external_token_count = EXTERNAL_TOKEN_COUNT,
    .external_scanner = {
      (const bool *)ts_external_scanner_states,
      ts_external_scanner_symbol_map,
      tree_sitter_ruby_external_scanner_create,
      tree_sitter_ruby_external_scanner_destroy,
      tree_sitter_ruby_external_scanner_scan,
      tree_sitter_ruby_external_scanner_serialize,
      tree_sitter_ruby_external_scanner_deserialize,
    },
  };
  return &language;
}
